public class ZetaSqlUnnest
extends org.apache.beam.vendor.calcite.v1_20_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_20_0.org.apache.calcite.rel.RelInput input)
Creates an Uncollect by parsing serialized output.
|
ZetaSqlUnnest(org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.plan.RelOptCluster cluster,
org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.plan.RelTraitSet traitSet,
org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.rel.RelNode input,
boolean withOrdinality)
Creates an Uncollect.
|
Modifier and Type | Method and Description |
---|---|
org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.rel.RelNode |
copy(org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.plan.RelTraitSet traitSet,
java.util.List<org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.rel.RelNode> inputs) |
org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.rel.RelNode |
copy(org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.plan.RelTraitSet traitSet,
org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.rel.RelNode input) |
static ZetaSqlUnnest |
create(org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.plan.RelTraitSet traitSet,
org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.rel.RelNode input,
boolean withOrdinality)
Creates an Uncollect.
|
protected org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.rel.type.RelDataType |
deriveRowType() |
static org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.rel.type.RelDataType |
deriveUncollectRowType(org.apache.beam.vendor.calcite.v1_20_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_20_0.org.apache.calcite.rel.RelWriter |
explainTerms(org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.rel.RelWriter pw) |
childrenAccept, estimateRowCount, getInput, getInputs, replaceInput
accept, accept, collectVariablesSet, collectVariablesUsed, computeDigest, computeSelfCost, computeSelfCost, explain, getChildExps, getCluster, getCollationList, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getQuery, getRelTypeName, getRows, getRowType, getTable, getTraitSet, getVariablesSet, getVariablesStopped, isDistinct, isKey, isValid, isValid, metadata, onRegister, recomputeDigest, register, sole, toString
public ZetaSqlUnnest(org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.plan.RelOptCluster cluster, org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.plan.RelTraitSet traitSet, org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.rel.RelNode input, boolean withOrdinality)
Use create(org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.plan.RelTraitSet, org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.rel.RelNode, boolean)
unless you know what you're doing.
public ZetaSqlUnnest(org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.rel.RelInput input)
public static ZetaSqlUnnest create(org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.plan.RelTraitSet traitSet, org.apache.beam.vendor.calcite.v1_20_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_20_0.org.apache.calcite.rel.RelWriter explainTerms(org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.rel.RelWriter pw)
explainTerms
in class org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.rel.SingleRel
public final org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.rel.RelNode copy(org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.plan.RelTraitSet traitSet, java.util.List<org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.rel.RelNode> inputs)
copy
in interface org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.rel.RelNode
copy
in class org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.rel.AbstractRelNode
public org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.rel.RelNode copy(org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.plan.RelTraitSet traitSet, org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.rel.RelNode input)
protected org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.rel.type.RelDataType deriveRowType()
deriveRowType
in class org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.rel.SingleRel
public static org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.rel.type.RelDataType deriveUncollectRowType(org.apache.beam.vendor.calcite.v1_20_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
.