public abstract class SetOp
extends org.apache.calcite.rel.AbstractRelNode
implements org.apache.calcite.rel.hint.Hintable
SetOp
is an abstract base for relational set operators such as UNION, MINUS (aka
EXCEPT), and INTERSECT.
Temporarily copy from calcite to cherry-pick [CALCITE-5107] and will be removed when upgrade the latest calcite.
Modifier and Type | Field and Description |
---|---|
boolean |
all |
protected com.google.common.collect.ImmutableList<org.apache.calcite.rel.hint.RelHint> |
hints |
protected com.google.common.collect.ImmutableList<org.apache.calcite.rel.RelNode> |
inputs |
org.apache.calcite.sql.SqlKind |
kind |
Modifier | Constructor and Description |
---|---|
protected |
SetOp(org.apache.calcite.rel.RelInput input)
Creates a SetOp by parsing serialized output.
|
protected |
SetOp(org.apache.calcite.plan.RelOptCluster cluster,
org.apache.calcite.plan.RelTraitSet traits,
List<org.apache.calcite.rel.hint.RelHint> hints,
List<org.apache.calcite.rel.RelNode> inputs,
org.apache.calcite.sql.SqlKind kind,
boolean all)
Creates a SetOp.
|
protected |
SetOp(org.apache.calcite.plan.RelOptCluster cluster,
org.apache.calcite.plan.RelTraitSet traits,
List<org.apache.calcite.rel.RelNode> inputs,
org.apache.calcite.sql.SqlKind kind,
boolean all)
Creates a SetOp.
|
Modifier and Type | Method and Description |
---|---|
SetOp |
copy(org.apache.calcite.plan.RelTraitSet traitSet,
List<org.apache.calcite.rel.RelNode> inputs) |
abstract SetOp |
copy(org.apache.calcite.plan.RelTraitSet traitSet,
List<org.apache.calcite.rel.RelNode> inputs,
boolean all) |
protected org.apache.calcite.rel.type.RelDataType |
deriveRowType() |
org.apache.calcite.rel.RelWriter |
explainTerms(org.apache.calcite.rel.RelWriter pw) |
com.google.common.collect.ImmutableList<org.apache.calcite.rel.hint.RelHint> |
getHints() |
List<org.apache.calcite.rel.RelNode> |
getInputs() |
boolean |
isHomogeneous(boolean compareNames)
Returns whether all the inputs of this set operator have the same row type as its output row.
|
void |
replaceInput(int ordinalInParent,
org.apache.calcite.rel.RelNode p) |
accept, accept, childrenAccept, collectVariablesSet, collectVariablesUsed, computeSelfCost, deepEquals, deepHashCode, equals, estimateRowCount, explain, getCluster, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getRelDigest, getRelTypeName, getRowType, getTable, getTraitSet, getVariablesSet, hashCode, isEnforcer, isValid, metadata, onRegister, recomputeDigest, register, sole, toString
protected com.google.common.collect.ImmutableList<org.apache.calcite.rel.RelNode> inputs
public final org.apache.calcite.sql.SqlKind kind
public final boolean all
protected final com.google.common.collect.ImmutableList<org.apache.calcite.rel.hint.RelHint> hints
protected SetOp(org.apache.calcite.plan.RelOptCluster cluster, org.apache.calcite.plan.RelTraitSet traits, List<org.apache.calcite.rel.hint.RelHint> hints, List<org.apache.calcite.rel.RelNode> inputs, org.apache.calcite.sql.SqlKind kind, boolean all)
protected SetOp(org.apache.calcite.plan.RelOptCluster cluster, org.apache.calcite.plan.RelTraitSet traits, List<org.apache.calcite.rel.RelNode> inputs, org.apache.calcite.sql.SqlKind kind, boolean all)
protected SetOp(org.apache.calcite.rel.RelInput input)
public abstract SetOp copy(org.apache.calcite.plan.RelTraitSet traitSet, List<org.apache.calcite.rel.RelNode> inputs, boolean all)
public SetOp copy(org.apache.calcite.plan.RelTraitSet traitSet, List<org.apache.calcite.rel.RelNode> inputs)
copy
in interface org.apache.calcite.rel.RelNode
copy
in class org.apache.calcite.rel.AbstractRelNode
public void replaceInput(int ordinalInParent, org.apache.calcite.rel.RelNode p)
replaceInput
in interface org.apache.calcite.rel.RelNode
replaceInput
in class org.apache.calcite.rel.AbstractRelNode
public List<org.apache.calcite.rel.RelNode> getInputs()
getInputs
in interface org.apache.calcite.plan.RelOptNode
getInputs
in interface org.apache.calcite.rel.RelNode
getInputs
in class org.apache.calcite.rel.AbstractRelNode
public org.apache.calcite.rel.RelWriter explainTerms(org.apache.calcite.rel.RelWriter pw)
explainTerms
in class org.apache.calcite.rel.AbstractRelNode
protected org.apache.calcite.rel.type.RelDataType deriveRowType()
deriveRowType
in class org.apache.calcite.rel.AbstractRelNode
public boolean isHomogeneous(boolean compareNames)
compareNames
- Whether column names are important in the homogeneity comparisonpublic com.google.common.collect.ImmutableList<org.apache.calcite.rel.hint.RelHint> getHints()
getHints
in interface org.apache.calcite.rel.hint.Hintable
Copyright © 2014–2024 The Apache Software Foundation. All rights reserved.