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

Reply via email to