ConditionInConstantSet
Used for optimised IN(...) queries where the contents of the IN list are all
constant and of the same type.
Checking using a HashSet is has time complexity O(1), instead of O(n) for
checking using an array.
| Methods |
|
ConditionInConstantSet(Session session, Expression left, ArrayList valueList)
Create a new IN(..) condition.
|
|
ConditionInConstantSet(Session session, Expression left, ArrayList valueList)
Create a new IN(..) condition.
Parameters:
session - the session
left - the expression before IN
valueList - the value list (at least two elements)
|
| void |
createIndexConditions(Session session, TableFilter filter)
|
| void |
createIndexConditions(Session session, TableFilter filter)
|
| Expression |
getAdditional(Session session, Comparison other)
Add an additional element if possible.
|
| Expression |
getAdditional(Session session, Comparison other)
Add an additional element if possible. Example: given two conditions
A IN(1, 2) OR A=3, the constant 3 is added: A IN(1, 2, 3).
Parameters:
session - the session
other - the second condition
Returns:
null if the condition was not added, or the new condition
|
| int |
getCost()
|
| int |
getCost()
|
| String |
getSQL()
|
| String |
getSQL()
|
| Value |
getValue(Session session)
|
| Value |
getValue(Session session)
|
| boolean |
isEverything(ExpressionVisitor visitor)
|
| boolean |
isEverything(ExpressionVisitor visitor)
|
| void |
mapColumns(ColumnResolver resolver, int level)
|
| void |
mapColumns(ColumnResolver resolver, int level)
|
| Expression |
optimize(Session session)
|
| Expression |
optimize(Session session)
|
| void |
setEvaluatable(TableFilter tableFilter, boolean b)
|
| void |
setEvaluatable(TableFilter tableFilter, boolean b)
|
| void |
updateAggregate(Session session)
|
| void |
updateAggregate(Session session)
|
|