Package com.mckoi.database

## Class QueryPlan.LeftOuterJoinNode

- java.lang.Object
- - com.mckoi.database.QueryPlan.SingleQueryPlanNode
  - - com.mckoi.database.QueryPlan.LeftOuterJoinNode

All Implemented Interfaces:
  `QueryPlanNode`, `java.io.Serializable`, `java.lang.Cloneable`

Enclosing class:
  QueryPlan

    public static class QueryPlan.LeftOuterJoinNode
    extends QueryPlan.SingleQueryPlanNode

A branch node for a left outer join. Using this node is a little non- intuitive. This node will only work when used in conjuction with MarkerNode.

To use - first the complete left table in the join must be marked with a name. Then the ON expression is evaluated to a single plan node. Then this plan node must be added to result in a left outer join. A tree for a left outer join may look as follows;

                LeftOuterJoinNode
                        |
                    Join a = b
                   /          \
              Marker       GetTable T2
                |
           GetTable T1

See Also:
  Serialized Form

### Field Summary

### Fields inherited from class com.mckoi.database.QueryPlan.SingleQueryPlanNode

`child`

### Constructor Summary

Constructors
`LeftOuterJoinNode​(QueryPlanNode child, java.lang.String complete_mark_name)`

### 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.SingleQueryPlanNode

`child, clone, debugString, discoverCorrelatedVariables, discoverTableNames`

### Methods inherited from class java.lang.Object

`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### LeftOuterJoinNode

    public LeftOuterJoinNode​(QueryPlanNode child,
                             java.lang.String complete_mark_name)

### 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.SingleQueryPlanNode`