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
Relational expression representing a scan of a KuduTable
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.twilio.kudu.sql.KuduRelNode
KuduRelNode.Implementor
Nested classes/interfaces inherited from interface org.apache.calcite.rel.RelNode
org.apache.calcite.rel.RelNode.Context
-
Field Summary
Modifier and TypeFieldDescriptionfinal CalciteKuduTable
static org.apache.calcite.rel.hint.HintStrategyTable
final org.apache.calcite.rel.type.RelDataType
List of column indices that are stored in reverse order.Fields inherited from class org.apache.calcite.rel.core.TableScan
hints, table
Fields inherited from class org.apache.calcite.rel.AbstractRelNode
digest, id, rowType, traitSet
Fields inherited from interface com.twilio.kudu.sql.KuduRelNode
CONVENTION
-
Constructor Summary
ConstructorDescriptionKuduQuery
(org.apache.calcite.plan.RelOptCluster cluster, org.apache.calcite.plan.RelTraitSet traitSet, org.apache.calcite.plan.RelOptTable table, List<org.apache.calcite.rel.hint.RelHint> hints, CalciteKuduTable calciteKuduTable, org.apache.calcite.rel.type.RelDataType projectRowType) -
Method Summary
Modifier and TypeMethodDescriptionorg.apache.calcite.rel.RelNode
org.apache.calcite.rel.type.RelDataType
void
EachKuduRelNode
implementation will accept theKuduRelNode.Implementor
and manipulate it.void
register
(org.apache.calcite.plan.RelOptPlanner planner) org.apache.calcite.rel.RelNode
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.hint.Hintable
attachHints
Methods inherited from interface org.apache.calcite.rel.RelNode
accept, accept, childrenAccept, collectVariablesSet, collectVariablesUsed, computeSelfCost, deepEquals, deepHashCode, estimateRowCount, explain, explain, fieldIsNullable, getConvention, getCorrelVariable, getDigest, getExpectedInputRowType, getInput, getInputs, getRelDigest, getRelTypeName, getRowType, getTable, getVariablesSet, isEnforcer, isValid, metadata, onRegister, recomputeDigest, replaceInput, stripped
Methods inherited from interface org.apache.calcite.plan.RelOptNode
getCluster, getDescription, getId, getTraitSet
-
Field Details
-
calciteKuduTable
-
KUDU_HINT_STRATEGY_TABLE
public static org.apache.calcite.rel.hint.HintStrategyTable KUDU_HINT_STRATEGY_TABLE -
projectRowType
public final org.apache.calcite.rel.type.RelDataType projectRowTypeList of column indices that are stored in reverse order.
-
-
Constructor Details
-
KuduQuery
public KuduQuery(org.apache.calcite.plan.RelOptCluster cluster, org.apache.calcite.plan.RelTraitSet traitSet, org.apache.calcite.plan.RelOptTable table, List<org.apache.calcite.rel.hint.RelHint> hints, CalciteKuduTable calciteKuduTable, org.apache.calcite.rel.type.RelDataType projectRowType) - Parameters:
cluster
- ClustertraitSet
- Traitstable
- Tablehints
-RelHint
listcalciteKuduTable
- Kudu tableprojectRowType
- Fields and types to project; null to project raw row
-
-
Method Details
-
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
-
withHints
- Specified by:
withHints
in interfaceorg.apache.calcite.rel.hint.Hintable
-
implement
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
-