Package com.mckoi.database
Class QueryPlan.EquiJoinNode
- java.lang.Object
-
- com.mckoi.database.QueryPlan.BranchQueryPlanNode
-
- com.mckoi.database.QueryPlan.EquiJoinNode
-
- All Implemented Interfaces:
QueryPlanNode
,java.io.Serializable
,java.lang.Cloneable
- Enclosing class:
- QueryPlan
public static class QueryPlan.EquiJoinNode extends QueryPlan.BranchQueryPlanNode
A branch node for equi-joining two tables together given two sets of columns. This is a seperate node from a general join operation to allow for optimizations with multi-column indexes.An equi-join is the most common type of join.
At query runtime, this decides the best best way to perform the join, either by
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private Variable[]
left_columns
The columns in the left table.private Variable[]
right_columns
The columns in the right table.(package private) static long
serialVersionUID
-
Fields inherited from class com.mckoi.database.QueryPlan.BranchQueryPlanNode
left, right
-
-
Constructor Summary
Constructors Constructor Description EquiJoinNode(QueryPlanNode left, QueryPlanNode right, Variable[] left_cols, Variable[] right_cols)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Object
clone()
Deep clone.Table
evaluate(QueryContext context)
Evaluates the node and returns the result as a Table.-
Methods inherited from class com.mckoi.database.QueryPlan.BranchQueryPlanNode
debugString, discoverCorrelatedVariables, discoverTableNames, left, right, titleString
-
-
-
-
Field Detail
-
serialVersionUID
static final long serialVersionUID
- See Also:
- Constant Field Values
-
left_columns
private Variable[] left_columns
The columns in the left table.
-
right_columns
private Variable[] right_columns
The columns in the right table.
-
-
Constructor Detail
-
EquiJoinNode
public EquiJoinNode(QueryPlanNode left, QueryPlanNode right, Variable[] left_cols, Variable[] right_cols)
-
-
Method Detail
-
evaluate
public Table evaluate(QueryContext context)
Description copied from interface:QueryPlanNode
Evaluates the node and returns the result as a Table. The VariableResolver resolves any outer variables
-
clone
public java.lang.Object clone() throws java.lang.CloneNotSupportedException
Description copied from class:QueryPlan.BranchQueryPlanNode
Deep clone.- Specified by:
clone
in interfaceQueryPlanNode
- Overrides:
clone
in classQueryPlan.BranchQueryPlanNode
- Throws:
java.lang.CloneNotSupportedException
-
-