Package org.apache.calcite.sql.validate
Class AggChecker
- java.lang.Object
-
- org.apache.calcite.sql.util.SqlBasicVisitor<java.lang.Void>
-
- org.apache.calcite.sql.validate.AggChecker
-
- All Implemented Interfaces:
SqlVisitor<java.lang.Void>
class AggChecker extends SqlBasicVisitor<java.lang.Void>
Visitor which throws an exception if any component of the expression is not a group expression.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.calcite.sql.util.SqlBasicVisitor
SqlBasicVisitor.ArgHandler<R>, SqlBasicVisitor.ArgHandlerImpl<R>
-
-
Field Summary
Fields Modifier and Type Field Description private boolean
distinct
private java.util.List<SqlNode>
extraExprs
private java.util.List<SqlNode>
groupExprs
private java.util.Deque<SqlValidatorScope>
scopes
private SqlValidatorImpl
validator
-
Constructor Summary
Constructors Constructor Description AggChecker(SqlValidatorImpl validator, AggregatingScope scope, java.util.List<SqlNode> extraExprs, java.util.List<SqlNode> groupExprs, boolean distinct)
Creates an AggChecker.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) boolean
isGroupExpr(SqlNode expr)
java.lang.Void
visit(SqlCall call)
Visits a call to aSqlOperator
.java.lang.Void
visit(SqlIdentifier id)
Visits an identifier.
-
-
-
Field Detail
-
scopes
private final java.util.Deque<SqlValidatorScope> scopes
-
extraExprs
private final java.util.List<SqlNode> extraExprs
-
groupExprs
private final java.util.List<SqlNode> groupExprs
-
distinct
private boolean distinct
-
validator
private SqlValidatorImpl validator
-
-
Constructor Detail
-
AggChecker
AggChecker(SqlValidatorImpl validator, AggregatingScope scope, java.util.List<SqlNode> extraExprs, java.util.List<SqlNode> groupExprs, boolean distinct)
Creates an AggChecker.- Parameters:
validator
- Validatorscope
- ScopegroupExprs
- Expressions in GROUP BY (or SELECT DISTINCT) clause, that are therefore availabledistinct
- Whether aggregation checking is because of a SELECT DISTINCT clause
-
-
Method Detail
-
isGroupExpr
boolean isGroupExpr(SqlNode expr)
-
visit
public java.lang.Void visit(SqlIdentifier id)
Description copied from interface:SqlVisitor
Visits an identifier.- Specified by:
visit
in interfaceSqlVisitor<java.lang.Void>
- Overrides:
visit
in classSqlBasicVisitor<java.lang.Void>
- Parameters:
id
- identifier- See Also:
SqlIdentifier.accept(SqlVisitor)
-
visit
public java.lang.Void visit(SqlCall call)
Description copied from interface:SqlVisitor
Visits a call to aSqlOperator
.- Specified by:
visit
in interfaceSqlVisitor<java.lang.Void>
- Overrides:
visit
in classSqlBasicVisitor<java.lang.Void>
- Parameters:
call
- Call- See Also:
SqlCall.accept(SqlVisitor)
-
-