Package com.twilio.kudu.sql.rel
Class KuduProjectRel
- java.lang.Object
-
- org.apache.calcite.rel.AbstractRelNode
-
- org.apache.calcite.rel.SingleRel
-
- org.apache.calcite.rel.core.Project
-
- com.twilio.kudu.sql.rel.KuduProjectRel
-
- All Implemented Interfaces:
KuduRelNode
,Cloneable
,org.apache.calcite.plan.RelOptNode
,org.apache.calcite.rel.hint.Hintable
,org.apache.calcite.rel.RelNode
public class KuduProjectRel extends org.apache.calcite.rel.core.Project implements KuduRelNode
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
KuduProjectRel.KuduColumnVisitor
static class
KuduProjectRel.KuduProjectTransformer
Used to transform projections of aLogicalProject
to use the output of aKuduProjectRel
-
Nested classes/interfaces inherited from class org.apache.calcite.rel.core.Project
org.apache.calcite.rel.core.Project.Flags
-
Nested classes/interfaces inherited from interface com.twilio.kudu.sql.KuduRelNode
KuduRelNode.Implementor
-
-
Field Summary
-
Fields inherited from interface com.twilio.kudu.sql.KuduRelNode
CONVENTION
-
-
Constructor Summary
Constructors Constructor Description KuduProjectRel(org.apache.calcite.plan.RelOptCluster cluster, org.apache.calcite.plan.RelTraitSet traitSet, org.apache.calcite.rel.RelNode input, List<? extends org.apache.calcite.rex.RexNode> projects, org.apache.calcite.rel.type.RelDataType rowType)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.apache.calcite.plan.RelOptCost
computeSelfCost(org.apache.calcite.plan.RelOptPlanner planner, org.apache.calcite.rel.metadata.RelMetadataQuery mq)
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> projects, org.apache.calcite.rel.type.RelDataType rowType)
void
implement(KuduRelNode.Implementor implementor)
EachKuduRelNode
implementation will accept theKuduRelNode.Implementor
and manipulate it.-
Methods inherited from class org.apache.calcite.rel.core.Project
accept, containsOver, copy, copy, deepEquals0, deepHashCode0, explainTerms, getFlags, getHints, getMapping, getMapping, getNamedProjects, getPartialMapping, getPermutation, getPermutation, getProjects, isBoxed, isMapping, isValid
-
Methods inherited from class org.apache.calcite.rel.SingleRel
childrenAccept, deriveRowType, estimateRowCount, getInput, getInputs, replaceInput
-
Methods inherited from class org.apache.calcite.rel.AbstractRelNode
accept, collectVariablesSet, collectVariablesUsed, deepEquals, deepHashCode, equals, explain, getCluster, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getRelDigest, getRelTypeName, getRowType, getTable, getTraitSet, getVariablesSet, hashCode, isEnforcer, metadata, onRegister, recomputeDigest, register, sole, toString
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.calcite.rel.RelNode
accept, accept, childrenAccept, collectVariablesSet, collectVariablesUsed, copy, deepEquals, deepHashCode, estimateRowCount, explain, explain, fieldIsNullable, getConvention, getCorrelVariable, getDigest, getExpectedInputRowType, getInput, getInputs, getRelDigest, getRelTypeName, getRowType, getTable, getVariablesSet, isEnforcer, isValid, metadata, onRegister, recomputeDigest, register, replaceInput
-
-
-
-
Constructor Detail
-
KuduProjectRel
public KuduProjectRel(org.apache.calcite.plan.RelOptCluster cluster, org.apache.calcite.plan.RelTraitSet traitSet, org.apache.calcite.rel.RelNode input, List<? extends org.apache.calcite.rex.RexNode> projects, org.apache.calcite.rel.type.RelDataType rowType)
-
-
Method Detail
-
copy
public 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> projects, org.apache.calcite.rel.type.RelDataType rowType)
- Specified by:
copy
in classorg.apache.calcite.rel.core.Project
-
computeSelfCost
public org.apache.calcite.plan.RelOptCost computeSelfCost(org.apache.calcite.plan.RelOptPlanner planner, org.apache.calcite.rel.metadata.RelMetadataQuery mq)
- Specified by:
computeSelfCost
in interfaceorg.apache.calcite.rel.RelNode
- Overrides:
computeSelfCost
in classorg.apache.calcite.rel.core.Project
-
implement
public void implement(KuduRelNode.Implementor implementor)
Description copied from interface:KuduRelNode
EachKuduRelNode
implementation will accept theKuduRelNode.Implementor
and manipulate it. TheImplementor
will then be used by theKuduToEnumerableConverter
to create aBlocks
that will be used to generate Byte code for the actual query.- Specified by:
implement
in interfaceKuduRelNode
- Parameters:
implementor
- mutable implementator to store information on for the Kudu RPCs
-
-