Package org.apache.calcite.rel.logical
Class LogicalTableFunctionScan
java.lang.Object
org.apache.calcite.rel.AbstractRelNode
org.apache.calcite.rel.core.TableFunctionScan
org.apache.calcite.rel.logical.LogicalTableFunctionScan
- All Implemented Interfaces:
Cloneable
,RelOptNode
,Hintable
,RelNode
Sub-class of
TableFunctionScan
not targeted at any particular engine or calling convention.-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.calcite.rel.RelNode
RelNode.Context
-
Field Summary
Fields inherited from class org.apache.calcite.rel.core.TableFunctionScan
columnMappings, hints
Fields inherited from class org.apache.calcite.rel.AbstractRelNode
digest, id, rowType, traitSet
-
Constructor Summary
ConstructorDescriptionLogicalTableFunctionScan
(RelOptCluster cluster, List<RelNode> inputs, RexNode rexCall, @Nullable Type elementType, RelDataType rowType, @Nullable Set<RelColumnMapping> columnMappings) Deprecated.LogicalTableFunctionScan
(RelOptCluster cluster, RelTraitSet traitSet, List<RelHint> hints, List<RelNode> inputs, RexNode rexCall, @Nullable Type elementType, RelDataType rowType, @Nullable Set<RelColumnMapping> columnMappings) Creates aLogicalTableFunctionScan
.LogicalTableFunctionScan
(RelOptCluster cluster, RelTraitSet traitSet, List<RelNode> inputs, RexNode rexCall, @Nullable Type elementType, RelDataType rowType, @Nullable Set<RelColumnMapping> columnMappings) Creates aLogicalTableFunctionScan
.LogicalTableFunctionScan
(RelInput input) Creates a LogicalTableFunctionScan by parsing serialized output. -
Method Summary
Modifier and TypeMethodDescription@Nullable RelOptCost
computeSelfCost
(RelOptPlanner planner, RelMetadataQuery mq) Returns the cost of this plan (not including children).copy
(RelTraitSet traitSet, List<RelNode> inputs, RexNode rexCall, @Nullable Type elementType, RelDataType rowType, @Nullable Set<RelColumnMapping> columnMappings) Copies this relational expression, substituting traits and inputs.static LogicalTableFunctionScan
create
(RelOptCluster cluster, List<RelNode> inputs, RexNode rexCall, @Nullable Type elementType, RelDataType rowType, @Nullable Set<RelColumnMapping> columnMappings) Creates a LogicalTableFunctionScan.Returns a new relational expression with the specified hintshintList
.Methods inherited from class org.apache.calcite.rel.core.TableFunctionScan
accept, copy, estimateRowCount, explainTerms, getCall, getColumnMappings, getElementType, getHints, getInputs, replaceInput
Methods inherited from class org.apache.calcite.rel.AbstractRelNode
accept, childrenAccept, collectVariablesSet, collectVariablesUsed, deepEquals, deepHashCode, deriveRowType, equals, explain, getCluster, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getRelDigest, getRelTypeName, getRowType, getTable, getTraitSet, getVariablesSet, hashCode, isEnforcer, isValid, metadata, onRegister, recomputeDigest, register, 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
explain, fieldIsNullable, stripped
-
Constructor Details
-
LogicalTableFunctionScan
public LogicalTableFunctionScan(RelOptCluster cluster, RelTraitSet traitSet, List<RelHint> hints, List<RelNode> inputs, RexNode rexCall, @Nullable Type elementType, RelDataType rowType, @Nullable Set<RelColumnMapping> columnMappings) Creates aLogicalTableFunctionScan
.- Parameters:
cluster
- Cluster that this relational expression belongs totraitSet
- Trait sethints
- The hints of this node.inputs
- 0 or more relational inputsrexCall
- Function invocation expressionelementType
- Element type of the collection that will implement this tablerowType
- Row type produced by functioncolumnMappings
- Column mappings associated with this function
-
LogicalTableFunctionScan
public LogicalTableFunctionScan(RelOptCluster cluster, RelTraitSet traitSet, List<RelNode> inputs, RexNode rexCall, @Nullable Type elementType, RelDataType rowType, @Nullable Set<RelColumnMapping> columnMappings) Creates aLogicalTableFunctionScan
.- Parameters:
cluster
- Cluster that this relational expression belongs totraitSet
- Trait setinputs
- 0 or more relational inputsrexCall
- Function invocation expressionelementType
- Element type of the collection that will implement this tablerowType
- Row type produced by functioncolumnMappings
- Column mappings associated with this function
-
LogicalTableFunctionScan
@Deprecated public LogicalTableFunctionScan(RelOptCluster cluster, List<RelNode> inputs, RexNode rexCall, @Nullable Type elementType, RelDataType rowType, @Nullable Set<RelColumnMapping> columnMappings) Deprecated. -
LogicalTableFunctionScan
Creates a LogicalTableFunctionScan by parsing serialized output.
-
-
Method Details
-
create
public static LogicalTableFunctionScan create(RelOptCluster cluster, List<RelNode> inputs, RexNode rexCall, @Nullable Type elementType, RelDataType rowType, @Nullable Set<RelColumnMapping> columnMappings) Creates a LogicalTableFunctionScan. -
copy
public LogicalTableFunctionScan copy(RelTraitSet traitSet, List<RelNode> inputs, RexNode rexCall, @Nullable Type elementType, RelDataType rowType, @Nullable Set<RelColumnMapping> columnMappings) Description copied from class:TableFunctionScan
Copies this relational expression, substituting traits and inputs.- Specified by:
copy
in classTableFunctionScan
- Parameters:
traitSet
- Traitsinputs
- 0 or more relational inputsrexCall
- Function invocation expressionelementType
- Element type of the collection that will implement this tablerowType
- Row type produced by functioncolumnMappings
- Column mappings associated with this function- Returns:
- Copy of this relational expression, substituting traits and inputs
-
computeSelfCost
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 classAbstractRelNode
- Parameters:
planner
- Planner for cost calculationmq
- Metadata query- Returns:
- Cost of this plan (not including children)
-
withHints
Description copied from interface:Hintable
Returns a new relational expression with the specified hintshintList
.This method should be overridden by every logical node that supports hint. It is only for internal use during decorrelation.
Sub-class should return a new copy of the relational expression.
The default implementation returns the relational expression directly only because not every kind of relational expression supports hints.
- Returns:
- Relational expression with set up hints
-