Package org.apache.calcite.interpreter
Class Bindables.BindableTableScan
java.lang.Object
org.apache.calcite.rel.AbstractRelNode
org.apache.calcite.rel.core.TableScan
org.apache.calcite.interpreter.Bindables.BindableTableScan
- All Implemented Interfaces:
Cloneable,BindableRel,InterpretableRel,RelOptNode,Hintable,RelNode,ArrayBindable,Bindable<@Nullable Object[]>,Typed
- Enclosing class:
Bindables
Scan of a table that implements
ScannableTable and therefore can
be converted into an Enumerable.-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.calcite.interpreter.InterpretableRel
InterpretableRel.InterpreterImplementorNested classes/interfaces inherited from interface org.apache.calcite.rel.RelNode
RelNode.Context -
Field Summary
FieldsModifier and TypeFieldDescriptionfinal com.google.common.collect.ImmutableList<RexNode>final ImmutableIntListFields inherited from class org.apache.calcite.rel.AbstractRelNode
digest, id, rowType, traitSet -
Method Summary
Modifier and TypeMethodDescriptionEnumerable<@Nullable Object[]>bind(DataContext dataContext) Executes this statement and returns an enumerable which will yield rows.static booleancanHandle(RelOptTable table) @Nullable RelOptCostcomputeSelfCost(RelOptPlanner planner, RelMetadataQuery mq) Returns the cost of this plan (not including children).static Bindables.BindableTableScancreate(RelOptCluster cluster, RelOptTable relOptTable) Creates a BindableTableScan.static Bindables.BindableTableScancreate(RelOptCluster cluster, RelOptTable relOptTable, List<RexNode> filters, List<Integer> projects) Creates a BindableTableScan.doubleReturns an estimate of the number of rows this relational expression will return.Describes the inputs and attributes of this relational expression.Gets the type of the element(s) that are returned in this collection.implement(InterpretableRel.InterpreterImplementor implementor) Creates an interpreter node to implement this relational expression.Methods inherited from class org.apache.calcite.rel.core.TableScan
accept, getHints, getTable, identity, identity, projectMethods inherited from class org.apache.calcite.rel.AbstractRelNode
accept, childrenAccept, collectVariablesSet, collectVariablesUsed, copy, 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, toStringMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.calcite.rel.hint.Hintable
attachHints, withHintsMethods inherited from interface org.apache.calcite.rel.RelNode
accept, accept, childrenAccept, collectVariablesSet, collectVariablesUsed, copy, deepEquals, deepHashCode, explain, explain, fieldIsNullable, getConvention, getCorrelVariable, getDigest, getExpectedInputRowType, getInput, getInputs, getRelDigest, getRelTypeName, getRowType, getTable, getVariablesSet, isEnforcer, isValid, metadata, onRegister, recomputeDigest, register, replaceInput, strippedMethods inherited from interface org.apache.calcite.plan.RelOptNode
getCluster, getDescription, getId, getTraitSet
-
Field Details
-
filters
-
projects
-
-
Method Details
-
create
Creates a BindableTableScan. -
create
public static Bindables.BindableTableScan create(RelOptCluster cluster, RelOptTable relOptTable, List<RexNode> filters, List<Integer> projects) Creates a BindableTableScan. -
deriveRowType
- Overrides:
deriveRowTypein classTableScan
-
getElementType
Description copied from interface:TypedGets the type of the element(s) that are returned in this collection.- Specified by:
getElementTypein interfaceArrayBindable- Specified by:
getElementTypein interfaceTyped
-
explainTerms
Description copied from class:AbstractRelNodeDescribes the inputs and attributes of this relational expression. Each node should callsuper.explainTerms, then call theRelWriter.input(String, RelNode)andRelWriter.item(String, Object)methods for each input and attribute.- Overrides:
explainTermsin classTableScan- Parameters:
pw- Plan writer- Returns:
- Plan writer for fluent-explain pattern
-
estimateRowCount
Description copied from interface:RelNodeReturns an estimate of the number of rows this relational expression will return.NOTE jvs 29-Mar-2006: Don't call this method directly. Instead, use
RelMetadataQuery.getRowCount(org.apache.calcite.rel.RelNode), which gives plugins a chance to override the rel's default ideas about row count.- Specified by:
estimateRowCountin interfaceRelNode- Overrides:
estimateRowCountin classTableScan- Parameters:
mq- Metadata query- Returns:
- Estimate of the number of rows this relational expression will return
-
computeSelfCost
Description copied from interface:RelNodeReturns the cost of this plan (not including children). The base implementation throws an error; derived classes should override.NOTE jvs 29-Mar-2006: Don't call this method directly. Instead, use
RelMetadataQuery.getNonCumulativeCost(org.apache.calcite.rel.RelNode), which gives plugins a chance to override the rel's default ideas about cost.- Specified by:
computeSelfCostin interfaceRelNode- Overrides:
computeSelfCostin classTableScan- Parameters:
planner- Planner for cost calculationmq- Metadata query- Returns:
- Cost of this plan (not including children)
-
canHandle
-
bind
Description copied from interface:BindableExecutes this statement and returns an enumerable which will yield rows. Theenvironmentparameter provides the values in the root of the environment (usually schemas). -
implement
Description copied from interface:InterpretableRelCreates an interpreter node to implement this relational expression.- Specified by:
implementin interfaceInterpretableRel
-