com.mckoi.database
Class QueryPlan.LogicalUnionNode

java.lang.Object
  extended by com.mckoi.database.QueryPlan.BranchQueryPlanNode
      extended by com.mckoi.database.QueryPlan.LogicalUnionNode
All Implemented Interfaces:
QueryPlanNode, java.io.Serializable, java.lang.Cloneable
Enclosing class:
QueryPlan

public static class QueryPlan.LogicalUnionNode
extends QueryPlan.BranchQueryPlanNode

A branch node for a logical union of two tables of identical types. This branch can only work if the left and right children have exactly the same ancestor tables. If the ancestor tables are different it will fail. This node is used for logical OR.

This union does not include duplicated rows.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class com.mckoi.database.QueryPlan.BranchQueryPlanNode
left, right
 
Constructor Summary
QueryPlan.LogicalUnionNode(QueryPlanNode left, QueryPlanNode right)
           
 
Method Summary
 Table evaluate(QueryContext context)
          Evaluates the node and returns the result as a Table.
 java.lang.String titleString()
           
 
Methods inherited from class com.mckoi.database.QueryPlan.BranchQueryPlanNode
clone, debugString, discoverCorrelatedVariables, discoverTableNames, left, right
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

QueryPlan.LogicalUnionNode

public QueryPlan.LogicalUnionNode(QueryPlanNode left,
                                  QueryPlanNode right)
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


titleString

public java.lang.String titleString()
Overrides:
titleString in class QueryPlan.BranchQueryPlanNode