Class BeamZetaSqlUncollectRule

java.lang.Object
org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelOptRule
org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelRule<org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.convert.ConverterRule.Config>
org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.convert.ConverterRule
org.apache.beam.sdk.extensions.sql.zetasql.unnest.BeamZetaSqlUncollectRule

public class BeamZetaSqlUncollectRule extends org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.convert.ConverterRule
A ConverterRule to replace ZetaSqlUnnest with BeamZetaSqlUncollectRel.

This class is a copy of BeamUncollectRel except that it works on ZetaSqlUnnest instead of Calcite Uncollect.

Details of why unwrapping structs breaks ZetaSQL UNNEST syntax is in https://issues.apache.org/jira/browse/BEAM-10896.

  • Nested Class Summary

    Nested classes/interfaces inherited from class org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.convert.ConverterRule

    org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.convert.ConverterRule.Config

    Nested classes/interfaces inherited from class org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelRule

    org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelRule.Done, org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelRule.MatchHandler<R extends org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelOptRule>, org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelRule.OperandBuilder, org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelRule.OperandDetailBuilder<R extends org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.RelNode>, org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelRule.OperandTransform

    Nested classes/interfaces inherited from class org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelOptRule

    org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelOptRule.ConverterRelOptRuleOperand
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
     

    Fields inherited from class org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.convert.ConverterRule

    out

    Fields inherited from class org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelRule

    config

    Fields inherited from class org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelOptRule

    description, operands, relBuilderFactory
  • Method Summary

    Modifier and Type
    Method
    Description
    org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.RelNode
    convert(org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.RelNode rel)
     

    Methods inherited from class org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.convert.ConverterRule

    getInTrait, getOutConvention, getOutTrait, getTraitDef, isGuaranteed, onMatch

    Methods inherited from class org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelOptRule

    any, convert, convert, convertList, convertOperand, convertOperand, equals, equals, getOperand, getOperands, hashCode, matches, none, operand, operand, operand, operand, operand, operandJ, operandJ, some, toString, unordered

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Field Details

  • Method Details

    • convert

      public org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.RelNode convert(org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.RelNode rel)
      Specified by:
      convert in class org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.convert.ConverterRule