public class SingleInputPlanNode extends PlanNode
PlanNode.FeedbackPropertiesMeetRequirementsReport, PlanNode.SourceAndDamReport
Modifier and Type | Field and Description |
---|---|
protected FieldList[] |
driverKeys |
protected boolean[][] |
driverSortOrders |
protected Channel |
input |
Object |
postPassHelper |
branchPlan, cumulativeCosts, globalProps, localProps, nodeCosts, outChannels, template
Constructor and Description |
---|
SingleInputPlanNode(OptimizerNode template,
String nodeName,
Channel input,
DriverStrategy driverStrategy) |
SingleInputPlanNode(OptimizerNode template,
String nodeName,
Channel input,
DriverStrategy driverStrategy,
FieldList driverKeyFields) |
SingleInputPlanNode(OptimizerNode template,
String nodeName,
Channel input,
DriverStrategy driverStrategy,
FieldList driverKeyFields,
boolean[] driverSortOrders) |
Modifier and Type | Method and Description |
---|---|
void |
accept(Visitor<PlanNode> visitor)
Contains the logic to invoke the visitor and continue the traversal.
|
TypeComparatorFactory<?> |
getComparator(int id)
Gets the specified comparator from this PlanNode.
|
Channel |
getInput()
Gets the input channel to this node.
|
Iterable<Channel> |
getInputs() |
FieldList |
getKeys(int id)
Gets the key field indexes for the specified driver comparator.
|
PlanNode |
getPredecessor()
Gets the predecessor of this node, i.e.
|
Iterable<PlanNode> |
getPredecessors()
Gets an iterator over the predecessors.
|
SingleInputNode |
getSingleInputNode() |
boolean[] |
getSortOrders(int id)
Gets the sort order for the specified driver comparator.
|
protected static boolean[] |
getTrueArray(int length) |
PlanNode.SourceAndDamReport |
hasDamOnPathDownTo(PlanNode source)
Checks whether this node has a dam on the way down to the given source node.
|
void |
setComparator(TypeComparatorFactory<?> comparator,
int id)
Sets the specified comparator for this PlanNode.
|
void |
setDriverKeyInfo(FieldList keys,
boolean[] sortOrder,
int id)
Sets the key field information for the specified driver comparator.
|
void |
setDriverKeyInfo(FieldList keys,
int id)
Sets the key field indexes for the specified driver comparator.
|
addOutgoingChannel, checkPartialSolutionPropertiesMet, getBranchPlan, getBroadcastInputs, getCandidateAtBranchPoint, getCostWeight, getCumulativeCosts, getCumulativeCostsShare, getDriverStrategy, getDumpableInputs, getGlobalProperties, getGuaranteedAvailableMemory, getLocalProperties, getMemoryConsumerWeight, getMinResources, getNodeCosts, getNodeName, getOptimizerNode, getOriginalOptimizerNode, getOutgoingChannels, getParallelism, getPlanNode, getPreferredResources, getProgramOperator, getRelativeMemoryPerSubTask, initProperties, isOnDynamicPath, isPruneMarkerSet, mergeBranchPlanMaps, mergeBranchPlanMaps, setBroadcastInputs, setCosts, setDriverStrategy, setParallelism, setPruningMarker, setRelativeMemoryPerSubtask, toString, updatePropertiesWithUniqueSets
protected final Channel input
protected final FieldList[] driverKeys
protected final boolean[][] driverSortOrders
public Object postPassHelper
public SingleInputPlanNode(OptimizerNode template, String nodeName, Channel input, DriverStrategy driverStrategy)
public SingleInputPlanNode(OptimizerNode template, String nodeName, Channel input, DriverStrategy driverStrategy, FieldList driverKeyFields)
public SingleInputPlanNode(OptimizerNode template, String nodeName, Channel input, DriverStrategy driverStrategy, FieldList driverKeyFields, boolean[] driverSortOrders)
public SingleInputNode getSingleInputNode()
public Channel getInput()
public PlanNode getPredecessor()
public void setDriverKeyInfo(FieldList keys, int id)
keys
- The key field indexes for the specified driver comparator.id
- The ID of the driver comparator.public void setDriverKeyInfo(FieldList keys, boolean[] sortOrder, int id)
keys
- The key field indexes for the specified driver comparator.sortOrder
- The key sort order for the specified driver comparator.id
- The ID of the driver comparator.public FieldList getKeys(int id)
id
- The id of the driver comparator for which the key field indexes are requested.public boolean[] getSortOrders(int id)
id
- The id of the driver comparator for which the sort order is requested.public TypeComparatorFactory<?> getComparator(int id)
id
- The ID of the requested comparator.public void setComparator(TypeComparatorFactory<?> comparator, int id)
comparator
- The comparator to set.id
- The ID of the comparator to set.public void accept(Visitor<PlanNode> visitor)
Visitable
A typical code example is the following:
public void accept(Visitor<Operator> visitor) {
boolean descend = visitor.preVisit(this);
if (descend) {
if (this.input != null) {
this.input.accept(visitor);
}
visitor.postVisit(this);
}
}
visitor
- The visitor to be called with this object as the parameter.Visitor.preVisit(Visitable)
,
Visitor.postVisit(Visitable)
public Iterable<PlanNode> getPredecessors()
DumpableNode
getPredecessors
in interface DumpableNode<PlanNode>
getPredecessors
in class PlanNode
public PlanNode.SourceAndDamReport hasDamOnPathDownTo(PlanNode source)
PlanNode
hasDamOnPathDownTo
in class PlanNode
source
- The node on the path to which the dam is sought.protected static boolean[] getTrueArray(int length)
Copyright © 2014–2018 The Apache Software Foundation. All rights reserved.