Class ElasticsearchTableScan
- java.lang.Object
-
- org.apache.calcite.rel.AbstractRelNode
-
- org.apache.calcite.rel.core.TableScan
-
- org.apache.calcite.adapter.elasticsearch.ElasticsearchTableScan
-
- All Implemented Interfaces:
java.lang.Cloneable
,ElasticsearchRel
,RelOptNode
,RelNode
public class ElasticsearchTableScan extends TableScan implements ElasticsearchRel
Relational expression representing a scan of an Elasticsearch type.Additional operations might be applied, using the "find" method.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.calcite.adapter.elasticsearch.ElasticsearchRel
ElasticsearchRel.Implementor
-
Nested classes/interfaces inherited from interface org.apache.calcite.rel.RelNode
RelNode.Context
-
-
Field Summary
Fields Modifier and Type Field Description private ElasticsearchTable
elasticsearchTable
private RelDataType
projectRowType
-
Fields inherited from class org.apache.calcite.rel.AbstractRelNode
digest, id, rowType, traitSet
-
Fields inherited from interface org.apache.calcite.adapter.elasticsearch.ElasticsearchRel
CONVENTION
-
-
Constructor Summary
Constructors Constructor Description ElasticsearchTableScan(RelOptCluster cluster, RelTraitSet traitSet, RelOptTable table, ElasticsearchTable elasticsearchTable, RelDataType projectRowType)
Creates an ElasticsearchTableScan.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description RelOptCost
computeSelfCost(RelOptPlanner planner, RelMetadataQuery mq)
Returns the cost of this plan (not including children).RelNode
copy(RelTraitSet traitSet, java.util.List<RelNode> inputs)
Creates a copy of this relational expression, perhaps changing traits and inputs.RelDataType
deriveRowType()
void
implement(ElasticsearchRel.Implementor implementor)
void
register(RelOptPlanner planner)
Registers any special rules specific to this kind of relational expression.-
Methods inherited from class org.apache.calcite.rel.core.TableScan
accept, estimateRowCount, explainTerms, getCollationList, getTable, identity, identity, project
-
Methods inherited from class org.apache.calcite.rel.AbstractRelNode
accept, childrenAccept, collectVariablesSet, collectVariablesUsed, computeDigest, computeSelfCost, 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, replaceInput, sole, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.calcite.rel.RelNode
accept, accept, childrenAccept, collectVariablesSet, collectVariablesUsed, computeSelfCost, estimateRowCount, explain, getChildExps, getCollationList, getConvention, getCorrelVariable, getExpectedInputRowType, getInput, getInputs, getQuery, getRelTypeName, getRows, getRowType, getTable, getVariablesSet, getVariablesStopped, isDistinct, isKey, isValid, isValid, metadata, onRegister, recomputeDigest, replaceInput
-
Methods inherited from interface org.apache.calcite.plan.RelOptNode
getCluster, getDescription, getDigest, getId, getTraitSet
-
-
-
-
Field Detail
-
elasticsearchTable
private final ElasticsearchTable elasticsearchTable
-
projectRowType
private final RelDataType projectRowType
-
-
Constructor Detail
-
ElasticsearchTableScan
ElasticsearchTableScan(RelOptCluster cluster, RelTraitSet traitSet, RelOptTable table, ElasticsearchTable elasticsearchTable, RelDataType projectRowType)
Creates an ElasticsearchTableScan.- Parameters:
cluster
- ClustertraitSet
- Trait settable
- TableelasticsearchTable
- Elasticsearch tableprojectRowType
- Fields and types to project; null to project raw row
-
-
Method Detail
-
copy
public RelNode copy(RelTraitSet traitSet, java.util.List<RelNode> inputs)
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
-
deriveRowType
public RelDataType deriveRowType()
- Overrides:
deriveRowType
in classTableScan
-
computeSelfCost
public RelOptCost computeSelfCost(RelOptPlanner planner, RelMetadataQuery mq)
Description copied from interface:RelNode
Returns 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:
computeSelfCost
in interfaceRelNode
- Overrides:
computeSelfCost
in classTableScan
- Parameters:
planner
- Planner for cost calculationmq
- Metadata query- Returns:
- Cost of this plan (not including children)
-
register
public void register(RelOptPlanner planner)
Description copied from interface:RelNode
Registers any special rules specific to this kind of relational expression.The planner calls this method this first time that it sees a relational expression of this class. The derived class should call
RelOptPlanner.addRule(org.apache.calcite.plan.RelOptRule)
for each rule, and then callsuper.register
.- Specified by:
register
in interfaceRelNode
- Overrides:
register
in classAbstractRelNode
- Parameters:
planner
- Planner to be used to register additional relational expressions
-
implement
public void implement(ElasticsearchRel.Implementor implementor)
- Specified by:
implement
in interfaceElasticsearchRel
-
-