com.mckoi.database
Class QueryPlan.LeftOuterJoinNode

java.lang.Object
  extended by com.mckoi.database.QueryPlan.SingleQueryPlanNode
      extended by 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
QueryPlan.LeftOuterJoinNode(QueryPlanNode child, java.lang.String complete_mark_name)
           
 
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.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

QueryPlan.LeftOuterJoinNode

public QueryPlan.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