public class ZetaSqlUnnest
extends org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.SingleRel
Details of why unwrapping structs breaks ZetaSQL UNNEST syntax is in https://issues.apache.org/jira/browse/BEAM-10896.
| Modifier and Type | Field and Description | 
|---|---|
| boolean | withOrdinality | 
| Constructor and Description | 
|---|
| ZetaSqlUnnest(org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.RelInput input)Creates an Uncollect by parsing serialized output. | 
| ZetaSqlUnnest(org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelOptCluster cluster,
             org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelTraitSet traitSet,
             org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.RelNode input,
             boolean withOrdinality)Creates an Uncollect. | 
| Modifier and Type | Method and Description | 
|---|---|
| org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.RelNode | copy(org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelTraitSet traitSet,
    java.util.List<org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.RelNode> inputs) | 
| org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.RelNode | copy(org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelTraitSet traitSet,
    org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.RelNode input) | 
| static ZetaSqlUnnest | create(org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelTraitSet traitSet,
      org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.RelNode input,
      boolean withOrdinality)Creates an Uncollect. | 
| protected org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.type.RelDataType | deriveRowType() | 
| static org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.type.RelDataType | deriveUncollectRowType(org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.RelNode rel,
                      boolean withOrdinality)Returns the row type returned by applying the 'UNNEST' operation to a relational expression. | 
| org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.RelWriter | explainTerms(org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.RelWriter pw) | 
childrenAccept, estimateRowCount, getInput, getInputs, replaceInputaccept, accept, collectVariablesSet, collectVariablesUsed, computeSelfCost, deepEquals, deepHashCode, equals, explain, getCluster, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getRelDigest, getRelTypeName, getRowType, getTable, getTraitSet, getVariablesSet, hashCode, isEnforcer, isValid, metadata, onRegister, recomputeDigest, register, sole, toStringpublic ZetaSqlUnnest(org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelOptCluster cluster,
                     org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelTraitSet traitSet,
                     org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.RelNode input,
                     boolean withOrdinality)
Use create(org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelTraitSet, org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.RelNode, boolean) unless you know what you're doing.
public ZetaSqlUnnest(org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.RelInput input)
public static ZetaSqlUnnest create(org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelTraitSet traitSet, org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.RelNode input, boolean withOrdinality)
Each field of the input relational expression must be an array or multiset.
traitSet - Trait setinput - Input relational expressionwithOrdinality - Whether output should contain an ORDINALITY columnpublic org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.RelWriter explainTerms(org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.RelWriter pw)
explainTerms in class org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.SingleRelpublic final org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.RelNode copy(org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelTraitSet traitSet,
                                                                                        java.util.List<org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.RelNode> inputs)
copy in interface org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.RelNodecopy in class org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.AbstractRelNodepublic org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.RelNode copy(org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.plan.RelTraitSet traitSet,
                                                                                  org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.RelNode input)
protected org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.type.RelDataType deriveRowType()
deriveRowType in class org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.SingleRelpublic static org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.type.RelDataType deriveUncollectRowType(org.apache.beam.vendor.calcite.v1_28_0.org.apache.calcite.rel.RelNode rel,
                                                                                                                    boolean withOrdinality)
Each column in the relational expression must be a multiset of structs or an array. The
 return type is the type of that column, plus an ORDINALITY column if withOrdinality.