com.mckoi.database
Class QueryPlan.ExhaustiveSelectNode

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

public static class QueryPlan.ExhaustiveSelectNode
extends QueryPlan.SingleQueryPlanNode

The node for performing a exhaustive select operation on the child node. This node will iterate through the entire child result and all results that evaulate to true are included in the result.

NOTE: The Expression may have correlated sub-queries.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class com.mckoi.database.QueryPlan.SingleQueryPlanNode
child
 
Constructor Summary
QueryPlan.ExhaustiveSelectNode(QueryPlanNode child, Expression exp)
           
 
Method Summary
 java.lang.Object clone()
          Deep clone.
 java.util.ArrayList discoverCorrelatedVariables(int level, java.util.ArrayList list)
          Default implementation that discovers correlated variables for the given offset level.
 java.util.ArrayList discoverTableNames(java.util.ArrayList list)
          Default implementation delegates responsibility to child.
 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, debugString
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

QueryPlan.ExhaustiveSelectNode

public QueryPlan.ExhaustiveSelectNode(QueryPlanNode child,
                                      Expression exp)
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


discoverTableNames

public java.util.ArrayList discoverTableNames(java.util.ArrayList list)
Description copied from class: QueryPlan.SingleQueryPlanNode
Default implementation delegates responsibility to child.

Specified by:
discoverTableNames in interface QueryPlanNode
Overrides:
discoverTableNames in class QueryPlan.SingleQueryPlanNode

discoverCorrelatedVariables

public java.util.ArrayList discoverCorrelatedVariables(int level,
                                                       java.util.ArrayList list)
Description copied from class: QueryPlan.SingleQueryPlanNode
Default implementation that discovers correlated variables for the given offset level.

Specified by:
discoverCorrelatedVariables in interface QueryPlanNode
Overrides:
discoverCorrelatedVariables in class QueryPlan.SingleQueryPlanNode

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
Description copied from class: QueryPlan.SingleQueryPlanNode
Deep clone.

Specified by:
clone in interface QueryPlanNode
Overrides:
clone in class QueryPlan.SingleQueryPlanNode
Throws:
java.lang.CloneNotSupportedException

titleString

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