Add support for strict scan.

If there are unused columns in query result set Query method panics.
This commit is contained in:
go-jet 2025-03-11 10:50:06 +01:00
parent cfc264221b
commit d86f14e665
9 changed files with 402 additions and 207 deletions

View file

@ -137,8 +137,10 @@ WHERE sample_ranges.date_range @> $36::date;
}
var dest sample
err := query.Query(db, &dest)
require.NoError(t, err)
allowUnusedColumns(func() {
err := query.Query(db, &dest)
require.NoError(t, err)
})
expectedRow := sample{
SampleRanges: sampleRangeRow,
@ -219,7 +221,7 @@ func TestRangeSelectColumnsFromSubQuery(t *testing.T) {
int4Range := Int4RangeColumn("range4").From(subQuery)
stmt := SELECT(
subQuery.AllColumns(),
subQuery.AllColumns().Except(int4Range),
int4Range,
).FROM(
subQuery,
@ -232,7 +234,6 @@ SELECT sub_query."sample_ranges.date_range" AS "sample_ranges.date_range",
sub_query."sample_ranges.int4_range" AS "sample_ranges.int4_range",
sub_query."sample_ranges.int8_range" AS "sample_ranges.int8_range",
sub_query."sample_ranges.num_range" AS "sample_ranges.num_range",
sub_query.range4 AS "range4",
sub_query.range4 AS "range4"
FROM (
SELECT sample_ranges.date_range AS "sample_ranges.date_range",