public class BeamUnionRel extends org.apache.calcite.rel.core.Union implements BeamRelNode
BeamRelNode to replace a Union.
 BeamUnionRel needs the input of it have the same WindowFn. From the SQL
 perspective, two cases are supported:
 
1) Do not use grouped window function:
 
 select * from person UNION select * from person
 2) Use the same grouped window function, with the same param:
 
 select id, count(*) from person
 group by id, TUMBLE(order_time, INTERVAL '1' HOUR)
 UNION
 select * from person
 group by id, TUMBLE(order_time, INTERVAL '1' HOUR)
 Inputs with different group functions are NOT supported:
 select id, count(*) from person
 group by id, TUMBLE(order_time, INTERVAL '1' HOUR)
 UNION
 select * from person
 group by id, TUMBLE(order_time, INTERVAL '2' HOUR)
 | Constructor and Description | 
|---|
| BeamUnionRel(org.apache.calcite.plan.RelOptCluster cluster,
            org.apache.calcite.plan.RelTraitSet traits,
            java.util.List<org.apache.calcite.rel.RelNode> inputs,
            boolean all) | 
| Modifier and Type | Method and Description | 
|---|---|
| PTransform<PCollectionList<Row>,PCollection<Row>> | buildPTransform() | 
| org.apache.calcite.rel.core.SetOp | copy(org.apache.calcite.plan.RelTraitSet traitSet,
    java.util.List<org.apache.calcite.rel.RelNode> inputs,
    boolean all) | 
copy, deriveRowType, explainTerms, getInputs, isHomogeneous, replaceInputaccept, accept, childrenAccept, 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, toStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetPCollectionInputs, getPipelineOptionsaccept, accept, childrenAccept, collectVariablesSet, collectVariablesUsed, computeSelfCost, computeSelfCost, copy, estimateRowCount, explain, getChildExps, getCollationList, getConvention, getCorrelVariable, getExpectedInputRowType, getInput, getInputs, getQuery, getRelTypeName, getRows, getRowType, getTable, getVariablesSet, getVariablesStopped, isDistinct, isKey, isValid, isValid, metadata, onRegister, recomputeDigest, register, replaceInputpublic BeamUnionRel(org.apache.calcite.plan.RelOptCluster cluster,
                    org.apache.calcite.plan.RelTraitSet traits,
                    java.util.List<org.apache.calcite.rel.RelNode> inputs,
                    boolean all)
public org.apache.calcite.rel.core.SetOp copy(org.apache.calcite.plan.RelTraitSet traitSet,
                                              java.util.List<org.apache.calcite.rel.RelNode> inputs,
                                              boolean all)
copy in class org.apache.calcite.rel.core.SetOppublic PTransform<PCollectionList<Row>,PCollection<Row>> buildPTransform()
buildPTransform in interface BeamRelNode