Package com.mckoi.database

## Class QueryPlan.LogicalUnionNode

- java.lang.Object
- - com.mckoi.database.QueryPlan.BranchQueryPlanNode
  - - 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

Constructors
`LogicalUnionNode​(QueryPlanNode left, QueryPlanNode right)`

### Method Summary

All Methods Instance Methods Concrete Methods
`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

#### LogicalUnionNode

    public 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`