public static class QueryPlan.RangeSelectNode extends QueryPlan.SingleQueryPlanNode
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.
child
Constructor and Description |
---|
RangeSelectNode(QueryPlanNode child,
Expression exp) |
Modifier and Type | Method and Description |
---|---|
Object |
clone()
Deep clone.
|
ArrayList |
discoverCorrelatedVariables(int level,
ArrayList list)
Default implementation that discovers correlated variables for the
given offset level.
|
ArrayList |
discoverTableNames(ArrayList list)
Default implementation delegates responsibility to child.
|
Table |
evaluate(QueryContext context)
Evaluates the node and returns the result as a Table.
|
String |
titleString() |
child, debugString
public RangeSelectNode(QueryPlanNode child, Expression exp)
public Table evaluate(QueryContext context)
QueryPlanNode
public ArrayList discoverTableNames(ArrayList list)
QueryPlan.SingleQueryPlanNode
discoverTableNames
in interface QueryPlanNode
discoverTableNames
in class QueryPlan.SingleQueryPlanNode
public ArrayList discoverCorrelatedVariables(int level, ArrayList list)
QueryPlan.SingleQueryPlanNode
discoverCorrelatedVariables
in interface QueryPlanNode
discoverCorrelatedVariables
in class QueryPlan.SingleQueryPlanNode
public Object clone() throws CloneNotSupportedException
QueryPlan.SingleQueryPlanNode
clone
in interface QueryPlanNode
clone
in class QueryPlan.SingleQueryPlanNode
CloneNotSupportedException
public String titleString()
titleString
in class QueryPlan.SingleQueryPlanNode
Copyright © 2015. All rights reserved.