Package com.twilio.kudu.sql
Class KuduQuery
- java.lang.Object
-
- org.apache.calcite.rel.AbstractRelNode
-
- org.apache.calcite.rel.core.TableScan
-
- com.twilio.kudu.sql.KuduQuery
-
- All Implemented Interfaces:
KuduRelNode
,Cloneable
,org.apache.calcite.plan.RelOptNode
,org.apache.calcite.rel.hint.Hintable
,org.apache.calcite.rel.RelNode
public final class KuduQuery extends org.apache.calcite.rel.core.TableScan implements KuduRelNode
Relational expression representing a scan of a KuduTable
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.twilio.kudu.sql.KuduRelNode
KuduRelNode.Implementor
-
-
Field Summary
Fields Modifier and Type Field Description CalciteKuduTable
calciteKuduTable
org.apache.calcite.rel.type.RelDataType
projectRowType
List of column indices that are stored in reverse order.-
Fields inherited from interface com.twilio.kudu.sql.KuduRelNode
CONVENTION
-
-
Constructor Summary
Constructors Constructor Description KuduQuery(org.apache.calcite.plan.RelOptCluster cluster, org.apache.calcite.plan.RelTraitSet traitSet, org.apache.calcite.plan.RelOptTable table, CalciteKuduTable calciteKuduTable, org.apache.calcite.rel.type.RelDataType projectRowType)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.apache.calcite.rel.RelNode
copy(org.apache.calcite.plan.RelTraitSet traitSet, List<org.apache.calcite.rel.RelNode> inputs)
org.apache.calcite.rel.type.RelDataType
deriveRowType()
void
implement(KuduRelNode.Implementor impl)
EachKuduRelNode
implementation will accept theKuduRelNode.Implementor
and manipulate it.void
register(org.apache.calcite.plan.RelOptPlanner planner)
-
Methods inherited from class org.apache.calcite.rel.core.TableScan
accept, computeSelfCost, estimateRowCount, explainTerms, getHints, getTable, identity, identity, project
-
Methods inherited from class org.apache.calcite.rel.AbstractRelNode
accept, childrenAccept, collectVariablesSet, collectVariablesUsed, deepEquals, deepHashCode, equals, explain, getCluster, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getInputs, getRelDigest, getRelTypeName, getRowType, getTraitSet, getVariablesSet, hashCode, isEnforcer, isValid, metadata, onRegister, recomputeDigest, replaceInput, 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, computeSelfCost, deepEquals, deepHashCode, estimateRowCount, explain, explain, getConvention, getCorrelVariable, getDigest, getExpectedInputRowType, getInput, getInputs, getRelDigest, getRelTypeName, getRowType, getTable, getVariablesSet, isEnforcer, isValid, metadata, onRegister, recomputeDigest, replaceInput
-
-
-
-
Field Detail
-
calciteKuduTable
public final CalciteKuduTable calciteKuduTable
-
projectRowType
public final org.apache.calcite.rel.type.RelDataType projectRowType
List of column indices that are stored in reverse order.
-
-
Constructor Detail
-
KuduQuery
public KuduQuery(org.apache.calcite.plan.RelOptCluster cluster, org.apache.calcite.plan.RelTraitSet traitSet, org.apache.calcite.plan.RelOptTable table, CalciteKuduTable calciteKuduTable, org.apache.calcite.rel.type.RelDataType projectRowType)
- Parameters:
cluster
- ClustertraitSet
- Traitstable
- TablecalciteKuduTable
- Kudu tableprojectRowType
- Fields and types to project; null to project raw row
-
-
Method Detail
-
copy
public org.apache.calcite.rel.RelNode copy(org.apache.calcite.plan.RelTraitSet traitSet, List<org.apache.calcite.rel.RelNode> inputs)
- Specified by:
copy
in interfaceorg.apache.calcite.rel.RelNode
- Overrides:
copy
in classorg.apache.calcite.rel.AbstractRelNode
-
deriveRowType
public org.apache.calcite.rel.type.RelDataType deriveRowType()
- Overrides:
deriveRowType
in classorg.apache.calcite.rel.core.TableScan
-
register
public void register(org.apache.calcite.plan.RelOptPlanner planner)
- Specified by:
register
in interfaceorg.apache.calcite.rel.RelNode
- Overrides:
register
in classorg.apache.calcite.rel.AbstractRelNode
-
implement
public void implement(KuduRelNode.Implementor impl)
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:
impl
- mutable implementator to store information on for the Kudu RPCs
-
-