Package com.mckoi.database
Class QueryPlan.EquiJoinNode
java.lang.Object
com.mckoi.database.QueryPlan.BranchQueryPlanNode
com.mckoi.database.QueryPlan.EquiJoinNode
- All Implemented Interfaces:
QueryPlanNode
,Serializable
,Cloneable
- Enclosing class:
- QueryPlan
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:
-
Field Summary
Fields inherited from class com.mckoi.database.QueryPlan.BranchQueryPlanNode
left, right
-
Constructor Summary
ConstructorsConstructorDescriptionEquiJoinNode
(QueryPlanNode left, QueryPlanNode right, Variable[] left_cols, Variable[] right_cols) -
Method Summary
Modifier and TypeMethodDescriptionclone()
Deep clone.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
-
Constructor Details
-
EquiJoinNode
public EquiJoinNode(QueryPlanNode left, QueryPlanNode right, Variable[] left_cols, Variable[] right_cols)
-
-
Method Details
-
evaluate
Description copied from interface:QueryPlanNode
Evaluates the node and returns the result as a Table. The VariableResolver resolves any outer variables -
clone
Description copied from class:QueryPlan.BranchQueryPlanNode
Deep clone.- Specified by:
clone
in interfaceQueryPlanNode
- Overrides:
clone
in classQueryPlan.BranchQueryPlanNode
- Throws:
CloneNotSupportedException
-