Class QueryStatementConverter

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

public class QueryStatementConverter extends Object
Converts a resolved Zeta SQL query represented by a tree to corresponding Calcite representation.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    Conversion context, contains things like FrameworkConfig, QueryTrait and other state used during conversion.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    canConvert(com.google.zetasql.resolvedast.ResolvedNodes.ResolvedQueryStmt zetaNode)
    Whether this rule can handle the conversion of the specific node.
    org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.RelNode
    convert(com.google.zetasql.resolvedast.ResolvedNodes.ResolvedQueryStmt zetaNode, List<org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.RelNode> inputs)
    Converts given Zeta SQL node to corresponding Calcite node.
    static org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.RelNode
    convertRootQuery(ConversionContext context, com.google.zetasql.resolvedast.ResolvedNodes.ResolvedQueryStmt query)
     
    protected org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelOptCluster
     
    protected org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.tools.FrameworkConfig
     
     
    List<com.google.zetasql.resolvedast.ResolvedNode>
    getInputs(com.google.zetasql.resolvedast.ResolvedNodes.ResolvedQueryStmt zetaNode)
    Extract Zeta SQL resolved nodes that correspond to the inputs of the current node.
    protected QueryTrait
     

    Methods inherited from class java.lang.Object

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

    • context

      protected ConversionContext context
      Conversion context, contains things like FrameworkConfig, QueryTrait and other state used during conversion.
  • Method Details

    • convertRootQuery

      public static org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.RelNode convertRootQuery(ConversionContext context, com.google.zetasql.resolvedast.ResolvedNodes.ResolvedQueryStmt query)
    • convert

      public org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.RelNode convert(com.google.zetasql.resolvedast.ResolvedNodes.ResolvedQueryStmt zetaNode, List<org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.RelNode> inputs)
      Converts given Zeta SQL node to corresponding Calcite node.

      inputs are node inputs that have already been converter to Calcite versions. They correspond to the nodes in getInputs(ResolvedNode).

    • canConvert

      public boolean canConvert(com.google.zetasql.resolvedast.ResolvedNodes.ResolvedQueryStmt zetaNode)
      Whether this rule can handle the conversion of the specific node.
    • getInputs

      public List<com.google.zetasql.resolvedast.ResolvedNode> getInputs(com.google.zetasql.resolvedast.ResolvedNodes.ResolvedQueryStmt zetaNode)
      Extract Zeta SQL resolved nodes that correspond to the inputs of the current node.
    • getCluster

      protected org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelOptCluster getCluster()
    • getConfig

      protected org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.tools.FrameworkConfig getConfig()
    • getExpressionConverter

      protected ExpressionConverter getExpressionConverter()
    • getTrait

      protected QueryTrait getTrait()