public static class QueryPlan.JoinNode extends QueryPlan.BranchQueryPlanNode
NOTE: The cost of a LeftJoin is higher if the right child result is greater than the left child result. The plan should be arranged so smaller results are on the left.
left, right
Constructor and Description |
---|
JoinNode(QueryPlanNode left,
QueryPlanNode right,
Variable left_var,
Operator join_op,
Expression right_expression) |
Modifier and Type | Method and Description |
---|---|
Object |
clone()
Deep clone.
|
ArrayList |
discoverCorrelatedVariables(int level,
ArrayList list)
Default implementation that discovers correlated variables for the
given offset level.
|
ArrayList |
discoverTableNames(ArrayList list)
Default implementation delegates responsibility to children.
|
Table |
evaluate(QueryContext context)
Evaluates the node and returns the result as a Table.
|
String |
titleString() |
debugString, left, right
public JoinNode(QueryPlanNode left, QueryPlanNode right, Variable left_var, Operator join_op, Expression right_expression)
public Table evaluate(QueryContext context)
QueryPlanNode
public ArrayList discoverTableNames(ArrayList list)
QueryPlan.BranchQueryPlanNode
discoverTableNames
in interface QueryPlanNode
discoverTableNames
in class QueryPlan.BranchQueryPlanNode
public ArrayList discoverCorrelatedVariables(int level, ArrayList list)
QueryPlan.BranchQueryPlanNode
discoverCorrelatedVariables
in interface QueryPlanNode
discoverCorrelatedVariables
in class QueryPlan.BranchQueryPlanNode
public Object clone() throws CloneNotSupportedException
QueryPlan.BranchQueryPlanNode
clone
in interface QueryPlanNode
clone
in class QueryPlan.BranchQueryPlanNode
CloneNotSupportedException
public String titleString()
titleString
in class QueryPlan.BranchQueryPlanNode
Copyright © 2015. All rights reserved.