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:QueryPlanNodeEvaluates the node and returns the result as a Table. The VariableResolver resolves any outer variables -
discoverTableNames
Description copied from class:QueryPlan.SingleQueryPlanNodeDefault implementation delegates responsibility to child.- Specified by:
discoverTableNamesin interfaceQueryPlanNode- Overrides:
discoverTableNamesin classQueryPlan.SingleQueryPlanNode
-
clone
Description copied from class:QueryPlan.SingleQueryPlanNodeDeep clone.- Specified by:
clonein interfaceQueryPlanNode- Overrides:
clonein classQueryPlan.SingleQueryPlanNode- Throws:
CloneNotSupportedException
-
titleString
- Overrides:
titleStringin classQueryPlan.SingleQueryPlanNode
-