Class EnumerableTableScan
java.lang.Object
org.apache.calcite.rel.AbstractRelNode
org.apache.calcite.rel.core.TableScan
org.apache.calcite.adapter.enumerable.EnumerableTableScan
- All Implemented Interfaces:
Cloneable
,EnumerableRel
,RelOptNode
,Hintable
,PhysicalNode
,RelNode
Implementation of
TableScan
in
enumerable calling convention
.-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.calcite.adapter.enumerable.EnumerableRel
EnumerableRel.Prefer, EnumerableRel.Result
Nested classes/interfaces inherited from interface org.apache.calcite.rel.RelNode
RelNode.Context
-
Field Summary
Fields inherited from class org.apache.calcite.rel.AbstractRelNode
digest, id, rowType, traitSet
-
Constructor Summary
ConstructorDescriptionEnumerableTableScan
(RelOptCluster cluster, RelTraitSet traitSet, RelOptTable table, Class elementType) Creates an EnumerableTableScan. -
Method Summary
Modifier and TypeMethodDescriptionstatic boolean
canHandle
(RelOptTable relOptTable) Returns whether EnumerableTableScan can generate code to handle a particular variant of the Table SPI.static boolean
Deprecated.remove before Calcite 2.0copy
(RelTraitSet traitSet, List<RelNode> inputs) Creates a copy of this relational expression, perhaps changing traits and inputs.static EnumerableTableScan
create
(RelOptCluster cluster, RelOptTable relOptTable) Creates an EnumerableTableScan.static Class
deduceElementType
(@Nullable Table table) static JavaRowFormat
deduceFormat
(RelOptTable table) Returns mode of derivation.implement
(EnumerableRelImplementor implementor, EnumerableRel.Prefer pref) Creates a plan for this expression according to a calling convention.@Nullable RelNode
passThrough
(RelTraitSet required) Code snippet to demonstrate how to generate IndexScan on demand by passing required collation through TableScan.Methods inherited from class org.apache.calcite.rel.core.TableScan
accept, computeSelfCost, deriveRowType, 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, register, 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.adapter.enumerable.EnumerableRel
deriveTraits, passThroughTraits
Methods inherited from interface org.apache.calcite.rel.hint.Hintable
attachHints, withHints
Methods inherited from interface org.apache.calcite.rel.PhysicalNode
derive, derive
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, register, replaceInput, stripped
Methods inherited from interface org.apache.calcite.plan.RelOptNode
getCluster, getDescription, getId, getTraitSet
-
Constructor Details
-
EnumerableTableScan
public EnumerableTableScan(RelOptCluster cluster, RelTraitSet traitSet, RelOptTable table, Class elementType) Creates an EnumerableTableScan.Use
create(org.apache.calcite.plan.RelOptCluster, org.apache.calcite.plan.RelOptTable)
unless you know what you are doing.
-
-
Method Details
-
passThrough
Code snippet to demonstrate how to generate IndexScan on demand by passing required collation through TableScan.- Specified by:
passThrough
in interfacePhysicalNode
- Returns:
- IndexScan if there is index available on collation keys
-
getDeriveMode
Description copied from interface:PhysicalNode
Returns mode of derivation.- Specified by:
getDeriveMode
in interfaceEnumerableRel
- Specified by:
getDeriveMode
in interfacePhysicalNode
-
create
Creates an EnumerableTableScan. -
canHandle
Deprecated.remove before Calcite 2.0Returns whether EnumerableTableScan can generate code to handle a particular variant of the Table SPI. -
canHandle
Returns whether EnumerableTableScan can generate code to handle a particular variant of the Table SPI. -
deduceElementType
-
deduceFormat
-
copy
Description copied from interface:RelNode
Creates a copy of this relational expression, perhaps changing traits and inputs.Sub-classes with other important attributes are encouraged to create variants of this method with more parameters.
- Specified by:
copy
in interfaceRelNode
- Overrides:
copy
in classAbstractRelNode
- Parameters:
traitSet
- Trait setinputs
- Inputs- Returns:
- Copy of this relational expression, substituting traits and inputs
-
implement
public EnumerableRel.Result implement(EnumerableRelImplementor implementor, EnumerableRel.Prefer pref) Description copied from interface:EnumerableRel
Creates a plan for this expression according to a calling convention.- Specified by:
implement
in interfaceEnumerableRel
- Parameters:
implementor
- Implementorpref
- Preferred representation for rows in result expression- Returns:
- Plan for this expression according to a calling convention
-