public class DualInputPlanNode extends PlanNode
PlanNode.FeedbackPropertiesMeetRequirementsReport, PlanNode.SourceAndDamReport
Modifier and Type | Field and Description |
---|---|
protected Channel |
input1 |
protected Channel |
input2 |
protected FieldList |
keys1 |
protected FieldList |
keys2 |
Object |
postPassHelper1 |
Object |
postPassHelper2 |
protected boolean[] |
sortOrders |
branchPlan, cumulativeCosts, globalProps, localProps, nodeCosts, outChannels, template
Constructor and Description |
---|
DualInputPlanNode(OptimizerNode template,
String nodeName,
Channel input1,
Channel input2,
DriverStrategy diverStrategy) |
DualInputPlanNode(OptimizerNode template,
String nodeName,
Channel input1,
Channel input2,
DriverStrategy diverStrategy,
FieldList driverKeyFields1,
FieldList driverKeyFields2) |
DualInputPlanNode(OptimizerNode template,
String nodeName,
Channel input1,
Channel input2,
DriverStrategy diverStrategy,
FieldList driverKeyFields1,
FieldList driverKeyFields2,
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<?> |
getComparator1() |
TypeComparatorFactory<?> |
getComparator2() |
Channel |
getInput1()
Gets the first input channel to this node.
|
Channel |
getInput2()
Gets the second input channel to this node.
|
Iterable<Channel> |
getInputs() |
FieldList |
getKeysForInput1() |
FieldList |
getKeysForInput2() |
TypePairComparatorFactory<?,?> |
getPairComparator() |
Iterable<PlanNode> |
getPredecessors()
Gets an iterator over the predecessors.
|
boolean[] |
getSortOrders() |
TwoInputNode |
getTwoInputNode() |
PlanNode.SourceAndDamReport |
hasDamOnPathDownTo(PlanNode source)
Checks whether this node has a dam on the way down to the given source node.
|
void |
setComparator1(TypeComparatorFactory<?> comparator) |
void |
setComparator2(TypeComparatorFactory<?> comparator) |
void |
setPairComparator(TypePairComparatorFactory<?,?> 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 input1
protected final Channel input2
protected final FieldList keys1
protected final FieldList keys2
protected final boolean[] sortOrders
public Object postPassHelper1
public Object postPassHelper2
public DualInputPlanNode(OptimizerNode template, String nodeName, Channel input1, Channel input2, DriverStrategy diverStrategy)
public DualInputPlanNode(OptimizerNode template, String nodeName, Channel input1, Channel input2, DriverStrategy diverStrategy, FieldList driverKeyFields1, FieldList driverKeyFields2)
public DualInputPlanNode(OptimizerNode template, String nodeName, Channel input1, Channel input2, DriverStrategy diverStrategy, FieldList driverKeyFields1, FieldList driverKeyFields2, boolean[] driverSortOrders)
public TwoInputNode getTwoInputNode()
public FieldList getKeysForInput1()
public FieldList getKeysForInput2()
public boolean[] getSortOrders()
public TypeComparatorFactory<?> getComparator1()
public TypeComparatorFactory<?> getComparator2()
public void setComparator1(TypeComparatorFactory<?> comparator)
public void setComparator2(TypeComparatorFactory<?> comparator)
public TypePairComparatorFactory<?,?> getPairComparator()
public void setPairComparator(TypePairComparatorFactory<?,?> comparator)
public Channel getInput1()
public Channel getInput2()
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.Copyright © 2014–2018 The Apache Software Foundation. All rights reserved.