Class ExpressionConverter

java.lang.Object
org.apache.beam.sdk.extensions.sql.zetasql.translation.ExpressionConverter

@Internal public class ExpressionConverter extends Object
Extracts expressions (function calls, field accesses) from the resolve query nodes, converts them to RexNodes.
  • Constructor Summary

    Constructors
    Constructor
    Description
    ExpressionConverter(org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelOptCluster cluster, QueryPlanner.QueryParameters params, UserFunctionDefinitions userFunctionDefinitions)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    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)
     
    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
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

  • 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.