public boolean checkAggregateExpr(SqlNode expr, boolean deep) { // Fully-qualify any identifiers in expr. if (deep) { expr = validator.expand(expr, this); } // Make sure expression is valid, throws if not. List<SqlNode> groupExprs = getGroupExprs(); final AggChecker aggChecker = new AggChecker( validator, this, groupExprs, distinct); if (deep) { expr.accept(aggChecker); } // Return whether expression exactly matches one of the group // expressions. return aggChecker.isGroupExpr(expr); }
public Void visit(SqlIdentifier id) { if (isGroupExpr(id)) { return null; if (isGroupExpr(fqId)) { return null;
public Void visit(SqlIdentifier id) if (isGroupExpr(id)) { return null; if (isGroupExpr(fqId)) { return null;
public boolean checkAggregateExpr(SqlNode expr, boolean deep) { // Fully-qualify any identifiers in expr. if (deep) { expr = validator.expand(expr, this); } // Make sure expression is valid, throws if not. List<SqlNode> groupExprs = getGroupExprs(); final AggChecker aggChecker = new AggChecker( validator, this, groupExprs, distinct); if (deep) { expr.accept(aggChecker); } // Return whether expression exactly matches one of the group // expressions. return aggChecker.isGroupExpr(expr); }
if (isGroupExpr(call)) {
if (isGroupExpr(call)) {