Package com.mckoi.database
Class QueryPlan.RangeSelectNode
java.lang.Object
com.mckoi.database.QueryPlan.SingleQueryPlanNode
com.mckoi.database.QueryPlan.RangeSelectNode
- All Implemented Interfaces:
QueryPlanNode
,Serializable
,Cloneable
- Enclosing class:
QueryPlan
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 (invalid input: '<', >, =, invalid input: '<'>, >=, invalid input: '<'=, 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 invalid input: '<' 100) OR col > 1000 OR col == 10
Breaking any of these rules will mean the range select can not happen.
- See Also:
-
Field Summary
Fields inherited from class com.mckoi.database.QueryPlan.SingleQueryPlanNode
child
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionclone()
Deep clone.discoverCorrelatedVariables
(int level, ArrayList list) Default implementation that discovers correlated variables for the given offset level.discoverTableNames
(ArrayList list) Default implementation delegates responsibility to child.evaluate
(QueryContext context) Evaluates the node and returns the result as a Table.Methods inherited from class com.mckoi.database.QueryPlan.SingleQueryPlanNode
child, debugString
-
Constructor Details
-
RangeSelectNode
-
-
Method Details
-
evaluate
Description copied from interface:QueryPlanNode
Evaluates the node and returns the result as a Table. The VariableResolver resolves any outer variables -
discoverTableNames
Description copied from class:QueryPlan.SingleQueryPlanNode
Default implementation delegates responsibility to child.- Specified by:
discoverTableNames
in interfaceQueryPlanNode
- Overrides:
discoverTableNames
in classQueryPlan.SingleQueryPlanNode
-
clone
Description copied from class:QueryPlan.SingleQueryPlanNode
Deep clone.- Specified by:
clone
in interfaceQueryPlanNode
- Overrides:
clone
in classQueryPlan.SingleQueryPlanNode
- Throws:
CloneNotSupportedException
-
titleString
- Overrides:
titleString
in classQueryPlan.SingleQueryPlanNode
-