Skip to content

Commit a9c0bfa

Browse files
committed
move group by validation to before filters get pushed down
1 parent 694aad9 commit a9c0bfa

File tree

4 files changed

+52
-44
lines changed

4 files changed

+52
-44
lines changed

enginetest/queries/queries.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9366,6 +9366,14 @@ from typestable`,
93669366
Query: "select y + 1 as z from xy group by (z) having AVG(z) > 1",
93679367
Expected: []sql.Row{{2}, {3}, {4}},
93689368
},
9369+
{
9370+
Query: "select c1, c2 from one_pk where pk = 0 group by c1",
9371+
Expected: []sql.Row{{0, 1}},
9372+
},
9373+
{
9374+
Query: "select c1, c2 from one_pk where c2 = 1 group by c1",
9375+
Expected: []sql.Row{{0, 1}},
9376+
},
93699377
}
93709378

93719379
var KeylessQueries = []QueryTest{

sql/analyzer/rule_ids.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ const (
2525
validateReadOnlyTransactionId // validateReadOnlyTransaction
2626
validateDatabaseSetId // validateDatabaseSet
2727
validatePrivilegesId // validatePrivileges
28+
validateGroupById // validateGroupBy
2829

2930
// default
3031
flattenTableAliasesId // flattenTableAliases
@@ -70,7 +71,6 @@ const (
7071
// validate
7172
validateResolvedId // validateResolved
7273
validateOrderById // validateOrderBy
73-
validateGroupById // validateGroupBy
7474
validateSchemaSourceId // validateSchemaSource
7575
validateIndexCreationId // validateIndexCreation
7676
ValidateOperandsId // validateOperands

sql/analyzer/ruleid_string.go

Lines changed: 42 additions & 42 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sql/analyzer/rules.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ var OnceBeforeDefault = []Rule{
5252
{simplifyFiltersId, simplifyFilters}, //TODO inline?
5353
{pushNotFiltersId, pushNotFilters}, //TODO inline?
5454
{hoistOutOfScopeFiltersId, hoistOutOfScopeFilters},
55+
{validateGroupById, validateGroupBy},
5556
}
5657

5758
// AlwaysBeforeDefault contains the rules to be applied just once before the
@@ -99,7 +100,6 @@ var OnceAfterDefault = []Rule{
99100
var DefaultValidationRules = []Rule{
100101
{validateResolvedId, validateResolved},
101102
{validateOrderById, validateOrderBy},
102-
{validateGroupById, validateGroupBy},
103103
{validateSchemaSourceId, validateSchemaSource},
104104
{validateIndexCreationId, validateIndexCreation},
105105
{ValidateOperandsId, validateOperands},

0 commit comments

Comments
 (0)