@Immutable public final class TableScanNode extends PlanNode
| Modifier and Type | Method and Description |
|---|---|
<R,C> R |
accept(PlanVisitor<R,C> visitor,
C context)
A visitor pattern interface to operate on IR.
|
PlanNode |
assignStatsEquivalentPlanNode(Optional<PlanNode> statsEquivalentPlanNode)
Assigns statsEquivalentPlanNode to the plan node
|
LogicalProperties |
computeLogicalProperties(LogicalPropertiesProvider logicalPropertiesProvider)
Logical properties are a function of source properties and the operation performed by the plan node
|
Map<VariableReferenceExpression,ColumnHandle> |
getAssignments()
Get the mapping from symbols to columns
|
TupleDomain<ColumnHandle> |
getCurrentConstraint()
A TupleDomain that represents a predicate that every row this TableScan node
produces is guaranteed to satisfy.
|
TupleDomain<ColumnHandle> |
getEnforcedConstraint()
A TupleDomain that represents a predicate that has been successfully pushed into
this TableScan node.
|
List<VariableReferenceExpression> |
getOutputVariables()
The output from the upstream PlanNodes.
|
List<PlanNode> |
getSources()
Get the upstream PlanNodes (i.e., children) of the current PlanNode.
|
TableHandle |
getTable()
Get the table handle provided by connector
|
List<TableConstraint<ColumnHandle>> |
getTableConstraints()
Get table constraints defined by connector
|
PlanNode |
replaceChildren(List<PlanNode> newChildren)
Alter the upstream PlanNodes of the current PlanNode.
|
String |
toString() |
getId, getSourceLocation, getStatsEquivalentPlanNodepublic TableScanNode(Optional<SourceLocation> sourceLocation, PlanNodeId id, TableHandle table, List<VariableReferenceExpression> outputVariables, Map<VariableReferenceExpression,ColumnHandle> assignments)
public TableScanNode(Optional<SourceLocation> sourceLocation, PlanNodeId id, TableHandle table, List<VariableReferenceExpression> outputVariables, Map<VariableReferenceExpression,ColumnHandle> assignments, TupleDomain<ColumnHandle> currentConstraint, TupleDomain<ColumnHandle> enforcedConstraint)
public TableScanNode(Optional<SourceLocation> sourceLocation, PlanNodeId id, TableHandle table, List<VariableReferenceExpression> outputVariables, Map<VariableReferenceExpression,ColumnHandle> assignments, List<TableConstraint<ColumnHandle>> tableConstraints, TupleDomain<ColumnHandle> currentConstraint, TupleDomain<ColumnHandle> enforcedConstraint)
public TableScanNode(Optional<SourceLocation> sourceLocation, PlanNodeId id, Optional<PlanNode> statsEquivalentPlanNode, TableHandle table, List<VariableReferenceExpression> outputVariables, Map<VariableReferenceExpression,ColumnHandle> assignments, List<TableConstraint<ColumnHandle>> tableConstraints, TupleDomain<ColumnHandle> currentConstraint, TupleDomain<ColumnHandle> enforcedConstraint)
public TableHandle getTable()
public List<TableConstraint<ColumnHandle>> getTableConstraints()
public Map<VariableReferenceExpression,ColumnHandle> getAssignments()
@Nullable public TupleDomain<ColumnHandle> getCurrentConstraint()
This guarantee can have different origins. For example, it may be successful predicate push down, or inherent guarantee provided by the underlying data. currentConstraint will only be used in planner. It is not transported to worker thus will be null on worker.
public TupleDomain<ColumnHandle> getEnforcedConstraint()
This field is used to make sure that predicates which were previously pushed down do not get lost in subsequent refinements of the table layout.
public List<PlanNode> getSources()
PlanNodegetSources in class PlanNodepublic LogicalProperties computeLogicalProperties(LogicalPropertiesProvider logicalPropertiesProvider)
PlanNodecomputeLogicalProperties in class PlanNodepublic List<VariableReferenceExpression> getOutputVariables()
PlanNodegetOutputVariables in class PlanNodepublic <R,C> R accept(PlanVisitor<R,C> visitor, C context)
PlanNodepublic PlanNode assignStatsEquivalentPlanNode(Optional<PlanNode> statsEquivalentPlanNode)
PlanNodeassignStatsEquivalentPlanNode in class PlanNodeCopyright © 2012–2022. All rights reserved.