com.mckoi.database
Class QueryPlan.NonCorrelatedAnyAllNode

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

public static class QueryPlan.NonCorrelatedAnyAllNode
extends QueryPlan.BranchQueryPlanNode

A branch node for a non-correlated ANY or ALL sub-query evaluation. This node requires a set of columns from the left branch and an operator. The right branch represents the non-correlated sub-query.

NOTE: The cost of a SubQuery is higher if the right child result is greater than the left child result. The plan should be arranged so smaller results are on the left.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class com.mckoi.database.QueryPlan.BranchQueryPlanNode
left, right
 
Constructor Summary
QueryPlan.NonCorrelatedAnyAllNode(QueryPlanNode left, QueryPlanNode right, Variable[] left_vars, Operator subquery_op)
           
 
Method Summary
 java.lang.Object clone()
          Deep clone.
 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
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.NonCorrelatedAnyAllNode

public QueryPlan.NonCorrelatedAnyAllNode(QueryPlanNode left,
                                         QueryPlanNode right,
                                         Variable[] left_vars,
                                         Operator subquery_op)
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


clone

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

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

titleString

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