Class ExpressionConverter
java.lang.Object
org.apache.beam.sdk.extensions.sql.zetasql.translation.ExpressionConverter
Extracts expressions (function calls, field accesses) from the resolve query nodes, converts them
to RexNodes.
-
Constructor Summary
ConstructorsConstructorDescriptionExpressionConverter
(org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelOptCluster cluster, QueryPlanner.QueryParameters params, UserFunctionDefinitions userFunctionDefinitions) -
Method Summary
Modifier and TypeMethodDescriptionorg.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rex.RexNode
convertRelNodeToRexRangeRef
(org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.RelNode rel) org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rex.RexNode
convertResolvedLiteral
(com.google.zetasql.resolvedast.ResolvedNodes.ResolvedLiteral resolvedLiteral) Convert a resolved literal to a RexNode.org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rex.RexNode
convertRexNodeFromResolvedExpr
(com.google.zetasql.resolvedast.ResolvedNodes.ResolvedExpr expr) Create a RexNode for a corresponding resolved expression.org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rex.RexNode
convertRexNodeFromResolvedExpr
(com.google.zetasql.resolvedast.ResolvedNodes.ResolvedExpr expr, List<com.google.zetasql.resolvedast.ResolvedColumn> columnList, List<org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.type.RelDataTypeField> fieldList, Map<String, org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rex.RexNode> functionArguments) Create a RexNode for a corresponding resolved expression node.org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rex.RexCall
convertTableValuedFunction
(org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.RelNode input, com.google.zetasql.TableValuedFunction tvf, List<com.google.zetasql.resolvedast.ResolvedNodes.ResolvedFunctionArgument> argumentList, List<com.google.zetasql.resolvedast.ResolvedColumn> inputTableColumns) Convert a TableValuedFunction in ZetaSQL to a RexCall in Calcite.int
indexOfProjectionColumnRef
(long colId, List<com.google.zetasql.resolvedast.ResolvedColumn> columnList) Return an index of the projection column reference.List
<org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rex.RexNode> retrieveRexNode
(com.google.zetasql.resolvedast.ResolvedNodes.ResolvedProjectScan node, List<org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.type.RelDataTypeField> fieldList) Extract expressions from a project scan node.List
<org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rex.RexNode> retrieveRexNodeFromOrderByScan
(org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelOptCluster cluster, com.google.zetasql.resolvedast.ResolvedNodes.ResolvedOrderByScan node, List<org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.type.RelDataTypeField> fieldList) Extract expressions from order by scan node.org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rex.RexNode
-
Constructor Details
-
ExpressionConverter
public ExpressionConverter(org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelOptCluster cluster, QueryPlanner.QueryParameters params, UserFunctionDefinitions userFunctionDefinitions)
-
-
Method Details
-
retrieveRexNode
public List<org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rex.RexNode> retrieveRexNode(com.google.zetasql.resolvedast.ResolvedNodes.ResolvedProjectScan node, List<org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.type.RelDataTypeField> fieldList) Extract expressions from a project scan node. -
retrieveRexNodeFromOrderByScan
public List<org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rex.RexNode> retrieveRexNodeFromOrderByScan(org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelOptCluster cluster, com.google.zetasql.resolvedast.ResolvedNodes.ResolvedOrderByScan node, List<org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.type.RelDataTypeField> fieldList) Extract expressions from order by scan node. -
convertRexNodeFromResolvedExpr
public org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rex.RexNode convertRexNodeFromResolvedExpr(com.google.zetasql.resolvedast.ResolvedNodes.ResolvedExpr expr, List<com.google.zetasql.resolvedast.ResolvedColumn> columnList, List<org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.type.RelDataTypeField> fieldList, Map<String, org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rex.RexNode> functionArguments) Create a RexNode for a corresponding resolved expression node. -
convertRelNodeToRexRangeRef
public org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rex.RexNode convertRelNodeToRexRangeRef(org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.RelNode rel) -
convertRexNodeFromResolvedExpr
public org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rex.RexNode convertRexNodeFromResolvedExpr(com.google.zetasql.resolvedast.ResolvedNodes.ResolvedExpr expr) Create a RexNode for a corresponding resolved expression. -
trueLiteral
public org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rex.RexNode trueLiteral() -
convertResolvedLiteral
public org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rex.RexNode convertResolvedLiteral(com.google.zetasql.resolvedast.ResolvedNodes.ResolvedLiteral resolvedLiteral) Convert a resolved literal to a RexNode. -
convertTableValuedFunction
public org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rex.RexCall convertTableValuedFunction(org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.RelNode input, com.google.zetasql.TableValuedFunction tvf, List<com.google.zetasql.resolvedast.ResolvedNodes.ResolvedFunctionArgument> argumentList, List<com.google.zetasql.resolvedast.ResolvedColumn> inputTableColumns) Convert a TableValuedFunction in ZetaSQL to a RexCall in Calcite. -
indexOfProjectionColumnRef
public int indexOfProjectionColumnRef(long colId, List<com.google.zetasql.resolvedast.ResolvedColumn> columnList) Return an index of the projection column reference.
-