Package org.apache.calcite.sql2rel
Class SqlToRelConverter.AggConverter
java.lang.Object
org.apache.calcite.sql2rel.SqlToRelConverter.AggConverter
- All Implemented Interfaces:
SqlVisitor<Void>
- Enclosing class:
- SqlToRelConverter
Converts expressions to aggregates.
Consider the expression
SELECT deptno, SUM(2 * sal) FROM emp GROUP BY deptno
Then:
- groupExprs = {SqlIdentifier(deptno)}
- convertedInputExprs = {RexInputRef(deptno), 2 * RefInputRef(sal)}
- inputRefs = {RefInputRef(#0), RexInputRef(#1)}
- aggCalls = {AggCall(SUM, {1})}
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionAggConverter
(SqlToRelConverter.Blackboard bb, SqlSelect select) Creates an AggConverter. -
Method Summary
Modifier and TypeMethodDescriptionint
addGroupExpr
(SqlNode expr) @Nullable RexNode
lookupAggregates
(SqlCall call) int
lookupGroupExpr
(SqlNode expr) If an expression is structurally identical to one of the group-by expressions, returns a reference to the expression, otherwise returns null.Visits a call to aSqlOperator
.visit
(SqlDataTypeSpec type) Visits a datatype specification.visit
(SqlDynamicParam param) Visits a dynamic parameter.visit
(SqlIdentifier id) Visits an identifier.visit
(SqlIntervalQualifier intervalQualifier) Visits an interval qualifier.visit
(SqlLiteral lit) Visits a literal.visit
(SqlNodeList nodeList) Visits a list ofSqlNode
objects.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.calcite.sql.util.SqlVisitor
visitNode
-
Field Details
-
aggregatingSelectScope
-
-
Constructor Details
-
AggConverter
Creates an AggConverter.The
select
parameter provides enough context to name aggregate calls which are top-level select list items.- Parameters:
bb
- Blackboardselect
- Query being translated; provides context to give
-
-
Method Details
-
addGroupExpr
-
visit
Description copied from interface:SqlVisitor
Visits an identifier.- Specified by:
visit
in interfaceSqlVisitor<Void>
- Parameters:
id
- identifier- See Also:
-
visit
Description copied from interface:SqlVisitor
Visits a list ofSqlNode
objects.- Specified by:
visit
in interfaceSqlVisitor<Void>
- Parameters:
nodeList
- list of nodes- See Also:
-
visit
Description copied from interface:SqlVisitor
Visits a literal.- Specified by:
visit
in interfaceSqlVisitor<Void>
- Parameters:
lit
- Literal- See Also:
-
visit
Description copied from interface:SqlVisitor
Visits a datatype specification.- Specified by:
visit
in interfaceSqlVisitor<Void>
- Parameters:
type
- datatype specification- See Also:
-
visit
Description copied from interface:SqlVisitor
Visits a dynamic parameter.- Specified by:
visit
in interfaceSqlVisitor<Void>
- Parameters:
param
- Dynamic parameter- See Also:
-
visit
Description copied from interface:SqlVisitor
Visits an interval qualifier.- Specified by:
visit
in interfaceSqlVisitor<Void>
- Parameters:
intervalQualifier
- Interval qualifier- See Also:
-
visit
Description copied from interface:SqlVisitor
Visits a call to aSqlOperator
.- Specified by:
visit
in interfaceSqlVisitor<Void>
- Parameters:
call
- Call- See Also:
-
lookupGroupExpr
If an expression is structurally identical to one of the group-by expressions, returns a reference to the expression, otherwise returns null. -
lookupAggregates
-
getPreExprs
-
getAggCalls
-
getTypeFactory
-