public static class Bindables.BindableTableScan extends TableScan implements BindableRel
ScannableTable
and therefore can
be converted into an Enumerable
.InterpretableRel.InterpreterImplementor
RelNode.Context
Modifier and Type | Field and Description |
---|---|
com.google.common.collect.ImmutableList<RexNode> |
filters |
ImmutableIntList |
projects |
digest, id, rowType, traitSet
Constructor and Description |
---|
BindableTableScan(RelOptCluster cluster,
RelTraitSet traitSet,
RelOptTable table,
com.google.common.collect.ImmutableList<RexNode> filters,
ImmutableIntList projects)
Creates a BindableTableScan.
|
Modifier and Type | Method and Description |
---|---|
Enumerable<java.lang.Object[]> |
bind(DataContext dataContext)
Executes this statement and returns an enumerable which will yield rows.
|
static boolean |
canHandle(RelOptTable table) |
RelOptCost |
computeSelfCost(RelOptPlanner planner,
RelMetadataQuery mq)
Returns the cost of this plan (not including children).
|
static Bindables.BindableTableScan |
create(RelOptCluster cluster,
RelOptTable relOptTable)
Creates a BindableTableScan.
|
static Bindables.BindableTableScan |
create(RelOptCluster cluster,
RelOptTable relOptTable,
java.util.List<RexNode> filters,
java.util.List<java.lang.Integer> projects)
Creates a BindableTableScan.
|
RelDataType |
deriveRowType() |
RelWriter |
explainTerms(RelWriter pw)
Describes the inputs and attributes of this relational expression.
|
java.lang.Class<java.lang.Object[]> |
getElementType()
Gets the type of the element(s) that are returned in this collection.
|
Node |
implement(InterpretableRel.InterpreterImplementor implementor)
Creates an interpreter node to implement this relational expression.
|
accept, estimateRowCount, getCollationList, getTable, identity, identity, project
accept, childrenAccept, collectVariablesSet, collectVariablesUsed, computeDigest, computeSelfCost, copy, explain, getChildExps, getCluster, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getInputs, getQuery, getRelTypeName, getRows, getRowType, getTraitSet, getVariablesSet, getVariablesStopped, isDistinct, isKey, isValid, isValid, metadata, onRegister, recomputeDigest, register, replaceInput, sole, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
accept, accept, childrenAccept, collectVariablesSet, collectVariablesUsed, computeSelfCost, copy, estimateRowCount, explain, getChildExps, getCollationList, getConvention, getCorrelVariable, getExpectedInputRowType, getInput, getInputs, getQuery, getRelTypeName, getRows, getRowType, getTable, getVariablesSet, getVariablesStopped, isDistinct, isKey, isValid, isValid, metadata, onRegister, recomputeDigest, register, replaceInput
getCluster, getDescription, getDigest, getId, getTraitSet
public final com.google.common.collect.ImmutableList<RexNode> filters
public final ImmutableIntList projects
BindableTableScan(RelOptCluster cluster, RelTraitSet traitSet, RelOptTable table, com.google.common.collect.ImmutableList<RexNode> filters, ImmutableIntList projects)
Use create(org.apache.calcite.plan.RelOptCluster, org.apache.calcite.plan.RelOptTable)
unless you know what you are doing.
public static Bindables.BindableTableScan create(RelOptCluster cluster, RelOptTable relOptTable)
public static Bindables.BindableTableScan create(RelOptCluster cluster, RelOptTable relOptTable, java.util.List<RexNode> filters, java.util.List<java.lang.Integer> projects)
public RelDataType deriveRowType()
deriveRowType
in class TableScan
public java.lang.Class<java.lang.Object[]> getElementType()
Typed
getElementType
in interface ArrayBindable
getElementType
in interface Typed
public RelWriter explainTerms(RelWriter pw)
AbstractRelNode
super.explainTerms
, then call the
RelWriter.input(String, RelNode)
and
RelWriterImpl.item(String, Object)
methods for each input and attribute.explainTerms
in class TableScan
pw
- Plan writerpublic RelOptCost computeSelfCost(RelOptPlanner planner, RelMetadataQuery mq)
RelNode
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.
computeSelfCost
in interface RelNode
computeSelfCost
in class TableScan
planner
- Planner for cost calculationmq
- Metadata querypublic static boolean canHandle(RelOptTable table)
public Enumerable<java.lang.Object[]> bind(DataContext dataContext)
Bindable
environment
parameter provides the values in the root of the
environment (usually schemas).public Node implement(InterpretableRel.InterpreterImplementor implementor)
InterpretableRel
implement
in interface InterpretableRel
Copyright © 2012–2019 The Apache Software Foundation. All rights reserved.