public class HiveProject extends org.apache.calcite.rel.core.Project implements HiveRelNode
org.apache.calcite.rel.core.Project.FlagsHiveRelNode.ImplementorCONVENTION| Constructor and Description |
|---|
HiveProject(org.apache.calcite.plan.RelOptCluster cluster,
org.apache.calcite.plan.RelTraitSet traitSet,
org.apache.calcite.rel.RelNode child,
List<? extends org.apache.calcite.rex.RexNode> exps,
org.apache.calcite.rel.type.RelDataType rowType,
int flags)
Creates a HiveProject.
|
| Modifier and Type | Method and Description |
|---|---|
org.apache.calcite.rel.RelNode |
accept(org.apache.calcite.rel.RelShuttle shuttle) |
org.apache.calcite.rel.core.Project |
copy(org.apache.calcite.plan.RelTraitSet traitSet,
org.apache.calcite.rel.RelNode input,
List<org.apache.calcite.rex.RexNode> exps,
org.apache.calcite.rel.type.RelDataType rowType) |
static HiveProject |
create(org.apache.calcite.rel.RelNode child,
List<? extends org.apache.calcite.rex.RexNode> exps,
List<String> fieldNames)
Creates a HiveProject with no sort keys.
|
static HiveProject |
create(org.apache.calcite.plan.RelOptCluster cluster,
org.apache.calcite.rel.RelNode child,
List<? extends org.apache.calcite.rex.RexNode> exps,
org.apache.calcite.rel.type.RelDataType rowType,
List<org.apache.calcite.rel.RelCollation> collationList)
Creates a HiveProject.
|
static HiveProject |
create(org.apache.calcite.plan.RelOptCluster cluster,
org.apache.calcite.rel.RelNode child,
List<? extends org.apache.calcite.rex.RexNode> exps,
org.apache.calcite.rel.type.RelDataType rowType,
org.apache.calcite.plan.RelTraitSet traitSet,
List<org.apache.calcite.rel.RelCollation> collationList)
Creates a HiveProject.
|
List<Integer> |
getVirtualCols() |
void |
implement(HiveRelNode.Implementor implementor) |
boolean |
isSynthetic() |
static org.apache.calcite.rel.RelNode |
projectMapping(org.apache.calcite.rel.RelNode rel,
org.apache.calcite.util.mapping.Mapping mapping,
List<String> fieldNames)
Creates a relational expression which projects the output fields of a
relational expression according to a partial mapping.
|
void |
setSynthetic() |
accept, computeSelfCost, copy, copy, explainTerms, getChildExps, getFlags, getMapping, getMapping, getNamedProjects, getPartialMapping, getPermutation, getPermutation, getProjects, isBoxed, isMapping, isValidchildrenAccept, deriveRowType, estimateRowCount, getInput, getInputs, replaceInputcollectVariablesSet, collectVariablesUsed, computeDigest, computeSelfCost, explain, getCluster, getCollationList, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getQuery, getRelTypeName, getRows, getRowType, getTable, getTraitSet, getVariablesSet, getVariablesStopped, isDistinct, isKey, isValid, metadata, onRegister, recomputeDigest, register, sole, toStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitaccept, 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 HiveProject(org.apache.calcite.plan.RelOptCluster cluster,
org.apache.calcite.plan.RelTraitSet traitSet,
org.apache.calcite.rel.RelNode child,
List<? extends org.apache.calcite.rex.RexNode> exps,
org.apache.calcite.rel.type.RelDataType rowType,
int flags)
cluster - Cluster this relational expression belongs tochild - input relational expressionexps - List of expressions for the input columnsrowType - output row typeflags - values as in Project.Flagspublic static HiveProject create(org.apache.calcite.rel.RelNode child, List<? extends org.apache.calcite.rex.RexNode> exps, List<String> fieldNames) throws CalciteSemanticException
child - input relational expressionexps - set of expressions for the input columnsfieldNames - aliases of the expressionsCalciteSemanticExceptionpublic static HiveProject create(org.apache.calcite.plan.RelOptCluster cluster, org.apache.calcite.rel.RelNode child, List<? extends org.apache.calcite.rex.RexNode> exps, org.apache.calcite.rel.type.RelDataType rowType, List<org.apache.calcite.rel.RelCollation> collationList)
public static HiveProject create(org.apache.calcite.plan.RelOptCluster cluster, org.apache.calcite.rel.RelNode child, List<? extends org.apache.calcite.rex.RexNode> exps, org.apache.calcite.rel.type.RelDataType rowType, org.apache.calcite.plan.RelTraitSet traitSet, List<org.apache.calcite.rel.RelCollation> collationList)
public static org.apache.calcite.rel.RelNode projectMapping(org.apache.calcite.rel.RelNode rel,
org.apache.calcite.util.mapping.Mapping mapping,
List<String> fieldNames)
throws CalciteSemanticException
A partial mapping is weaker than a permutation: every target has one source, but a source may have 0, 1 or more than one targets. Usually the result will have fewer fields than the source, unless some source fields are projected multiple times.
This method could optimize the result as #permute does, but does
not at present.
rel - Relational expressionmapping - Mapping from source fields to target fields. The mapping type must
obey the constraints MappingType.isMandatorySource() and
MappingType.isSingleSource(), as does
MappingType.INVERSE_FUNCTION.fieldNames - Field names; if null, or if a particular entry is null, the name
of the permuted field is usedCalciteSemanticExceptionpublic org.apache.calcite.rel.core.Project copy(org.apache.calcite.plan.RelTraitSet traitSet,
org.apache.calcite.rel.RelNode input,
List<org.apache.calcite.rex.RexNode> exps,
org.apache.calcite.rel.type.RelDataType rowType)
copy in class org.apache.calcite.rel.core.Projectpublic void implement(HiveRelNode.Implementor implementor)
implement in interface HiveRelNodepublic void setSynthetic()
public boolean isSynthetic()
public org.apache.calcite.rel.RelNode accept(org.apache.calcite.rel.RelShuttle shuttle)
accept in interface org.apache.calcite.rel.RelNodeaccept in class org.apache.calcite.rel.AbstractRelNodeCopyright © 2019 The Apache Software Foundation. All Rights Reserved.