Class RelParameterizerShuttle
java.lang.Object
org.apache.druid.sql.calcite.planner.RelParameterizerShuttle
- All Implemented Interfaces:
org.apache.calcite.rel.RelShuttle
Traverse
RelNode tree and replaces all RexDynamicParam with RexLiteral
using RexBuilder if a value binding exists for the parameter. All parameters must have a value by the time
RelParameterizerShuttle is run, or else it will throw an exception.
Note: none of the tests currently hit this anymore since SqlParameterizerShuttle has been modified to handle
most common jdbc types, but leaving this here provides a safety net to try again to convert parameters
to literal values in case SqlParameterizerShuttle fails.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionorg.apache.calcite.rel.RelNodevisit(org.apache.calcite.rel.core.TableFunctionScan scan) org.apache.calcite.rel.RelNodevisit(org.apache.calcite.rel.core.TableScan scan) org.apache.calcite.rel.RelNodevisit(org.apache.calcite.rel.logical.LogicalAggregate aggregate) org.apache.calcite.rel.RelNodevisit(org.apache.calcite.rel.logical.LogicalCalc calc) org.apache.calcite.rel.RelNodevisit(org.apache.calcite.rel.logical.LogicalCorrelate correlate) org.apache.calcite.rel.RelNodevisit(org.apache.calcite.rel.logical.LogicalExchange exchange) org.apache.calcite.rel.RelNodevisit(org.apache.calcite.rel.logical.LogicalFilter filter) org.apache.calcite.rel.RelNodevisit(org.apache.calcite.rel.logical.LogicalIntersect intersect) org.apache.calcite.rel.RelNodevisit(org.apache.calcite.rel.logical.LogicalJoin join) org.apache.calcite.rel.RelNodevisit(org.apache.calcite.rel.logical.LogicalMatch match) org.apache.calcite.rel.RelNodevisit(org.apache.calcite.rel.logical.LogicalMinus minus) org.apache.calcite.rel.RelNodevisit(org.apache.calcite.rel.logical.LogicalProject project) org.apache.calcite.rel.RelNodevisit(org.apache.calcite.rel.logical.LogicalSort sort) org.apache.calcite.rel.RelNodevisit(org.apache.calcite.rel.logical.LogicalTableModify modify) org.apache.calcite.rel.RelNodevisit(org.apache.calcite.rel.logical.LogicalUnion union) org.apache.calcite.rel.RelNodevisit(org.apache.calcite.rel.logical.LogicalValues values) org.apache.calcite.rel.RelNodevisit(org.apache.calcite.rel.RelNode other)
-
Constructor Details
-
RelParameterizerShuttle
-
-
Method Details
-
visit
public org.apache.calcite.rel.RelNode visit(org.apache.calcite.rel.core.TableScan scan) - Specified by:
visitin interfaceorg.apache.calcite.rel.RelShuttle
-
visit
public org.apache.calcite.rel.RelNode visit(org.apache.calcite.rel.core.TableFunctionScan scan) - Specified by:
visitin interfaceorg.apache.calcite.rel.RelShuttle
-
visit
public org.apache.calcite.rel.RelNode visit(org.apache.calcite.rel.logical.LogicalValues values) - Specified by:
visitin interfaceorg.apache.calcite.rel.RelShuttle
-
visit
public org.apache.calcite.rel.RelNode visit(org.apache.calcite.rel.logical.LogicalFilter filter) - Specified by:
visitin interfaceorg.apache.calcite.rel.RelShuttle
-
visit
public org.apache.calcite.rel.RelNode visit(org.apache.calcite.rel.logical.LogicalProject project) - Specified by:
visitin interfaceorg.apache.calcite.rel.RelShuttle
-
visit
public org.apache.calcite.rel.RelNode visit(org.apache.calcite.rel.logical.LogicalJoin join) - Specified by:
visitin interfaceorg.apache.calcite.rel.RelShuttle
-
visit
public org.apache.calcite.rel.RelNode visit(org.apache.calcite.rel.logical.LogicalCorrelate correlate) - Specified by:
visitin interfaceorg.apache.calcite.rel.RelShuttle
-
visit
public org.apache.calcite.rel.RelNode visit(org.apache.calcite.rel.logical.LogicalUnion union) - Specified by:
visitin interfaceorg.apache.calcite.rel.RelShuttle
-
visit
public org.apache.calcite.rel.RelNode visit(org.apache.calcite.rel.logical.LogicalIntersect intersect) - Specified by:
visitin interfaceorg.apache.calcite.rel.RelShuttle
-
visit
public org.apache.calcite.rel.RelNode visit(org.apache.calcite.rel.logical.LogicalMinus minus) - Specified by:
visitin interfaceorg.apache.calcite.rel.RelShuttle
-
visit
public org.apache.calcite.rel.RelNode visit(org.apache.calcite.rel.logical.LogicalAggregate aggregate) - Specified by:
visitin interfaceorg.apache.calcite.rel.RelShuttle
-
visit
public org.apache.calcite.rel.RelNode visit(org.apache.calcite.rel.logical.LogicalMatch match) - Specified by:
visitin interfaceorg.apache.calcite.rel.RelShuttle
-
visit
public org.apache.calcite.rel.RelNode visit(org.apache.calcite.rel.logical.LogicalSort sort) - Specified by:
visitin interfaceorg.apache.calcite.rel.RelShuttle
-
visit
public org.apache.calcite.rel.RelNode visit(org.apache.calcite.rel.logical.LogicalExchange exchange) - Specified by:
visitin interfaceorg.apache.calcite.rel.RelShuttle
-
visit
public org.apache.calcite.rel.RelNode visit(org.apache.calcite.rel.logical.LogicalCalc calc) - Specified by:
visitin interfaceorg.apache.calcite.rel.RelShuttle
-
visit
public org.apache.calcite.rel.RelNode visit(org.apache.calcite.rel.logical.LogicalTableModify modify) - Specified by:
visitin interfaceorg.apache.calcite.rel.RelShuttle
-
visit
public org.apache.calcite.rel.RelNode visit(org.apache.calcite.rel.RelNode other) - Specified by:
visitin interfaceorg.apache.calcite.rel.RelShuttle
-