DonnyZone commented on a change in pull request #1556: [CALCITE-3438] Validator
should disallow use of the GROUPING function inside a FILTER clause
URL: https://github.com/apache/calcite/pull/1556#discussion_r347753286
##########
File path: core/src/main/java/org/apache/calcite/sql/validate/AggVisitor.java
##########
@@ -44,6 +44,9 @@
* or group auxiliary functions (e.g. {@code TUMBLE_START}). */
protected final boolean group;
protected final SqlNameMatcher nameMatcher;
+ /** Whether to find grouping functions (i.e., {@code GROUP_ID},
+ * {@code GROUPING_ID}, {@code GROUPING}).*/
+ private boolean grouping = false;
Review comment:
There are about two cases:
**pattern-1(SqlValidatorTest#testGroupId):**
`sql("select ^group_id()^ from emp")`
**Expected:** "GROUP_ID operator may only occur in an aggregate query"
**Actual:** OK
**pattern-2(SqlValidatorTest#testGroupId):**
`sql("select deptno from emp order by ^group_id(deptno)^")`
**Expected:** "GROUP_ID operator may only occur in SELECT, HAVING or ORDER
BY clause"
**Actual:** "Aggregate expression is illegal in ORDER BY clause of
non-aggregating SELECT"
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services