Package com.mckoi.database
Class QueryPlan.RangeSelectNode
- java.lang.Object
-
- com.mckoi.database.QueryPlan.SingleQueryPlanNode
-
- com.mckoi.database.QueryPlan.RangeSelectNode
-
- All Implemented Interfaces:
QueryPlanNode,java.io.Serializable,java.lang.Cloneable
- Enclosing class:
- QueryPlan
public static class QueryPlan.RangeSelectNode extends QueryPlan.SingleQueryPlanNode
The node for performing a simple indexed query on a single column of the child node. Finds the set from the child node that matches the range.The given Expression object must conform to a number of rules. It may reference only one column in the child node. It must consist of only simple mathemetical and logical operators (<, >, =, <>, >=, <=, AND, OR). The left side of each mathematical operator must be a variable, and the right side must be a constant (parameter subsitution or correlated value). For example; (col > 10 AND col < 100) OR col > 1000 OR col == 10
Breaking any of these rules will mean the range select can not happen.
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class com.mckoi.database.QueryPlan.SingleQueryPlanNode
child
-
-
Constructor Summary
Constructors Constructor Description RangeSelectNode(QueryPlanNode child, Expression exp)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Objectclone()Deep clone.java.util.ArrayListdiscoverCorrelatedVariables(int level, java.util.ArrayList list)Default implementation that discovers correlated variables for the given offset level.java.util.ArrayListdiscoverTableNames(java.util.ArrayList list)Default implementation delegates responsibility to child.Tableevaluate(QueryContext context)Evaluates the node and returns the result as a Table.java.lang.StringtitleString()-
Methods inherited from class com.mckoi.database.QueryPlan.SingleQueryPlanNode
child, debugString
-
-
-
-
Constructor Detail
-
RangeSelectNode
public RangeSelectNode(QueryPlanNode child, Expression exp)
-
-
Method Detail
-
evaluate
public Table evaluate(QueryContext context)
Description copied from interface:QueryPlanNodeEvaluates 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.SingleQueryPlanNodeDefault implementation delegates responsibility to child.- Specified by:
discoverTableNamesin interfaceQueryPlanNode- Overrides:
discoverTableNamesin classQueryPlan.SingleQueryPlanNode
-
discoverCorrelatedVariables
public java.util.ArrayList discoverCorrelatedVariables(int level, java.util.ArrayList list)Description copied from class:QueryPlan.SingleQueryPlanNodeDefault implementation that discovers correlated variables for the given offset level.- Specified by:
discoverCorrelatedVariablesin interfaceQueryPlanNode- Overrides:
discoverCorrelatedVariablesin classQueryPlan.SingleQueryPlanNode
-
clone
public java.lang.Object clone() throws java.lang.CloneNotSupportedExceptionDescription copied from class:QueryPlan.SingleQueryPlanNodeDeep clone.- Specified by:
clonein interfaceQueryPlanNode- Overrides:
clonein classQueryPlan.SingleQueryPlanNode- Throws:
java.lang.CloneNotSupportedException
-
titleString
public java.lang.String titleString()
- Overrides:
titleStringin classQueryPlan.SingleQueryPlanNode
-
-