|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.h2.expression.Expression
org.h2.expression.Condition
org.h2.expression.Comparison
public class Comparison
Example comparison expressions are ID=1, NAME=NAME, NAME IS NULL.
Field Summary | |
---|---|
static int |
BIGGER
The comparison type meaning > as in ID>1. |
static int |
BIGGER_EQUAL
The comparison type meaning >= as in ID>=1. |
static int |
EQUAL
The comparison type meaning = as in ID=1. |
static int |
FALSE
This is a pseudo comparison type that is only used for index conditions. |
static int |
IN_LIST
This is a pseudo comparison type that is only used for index conditions. |
static int |
IN_QUERY
This is a pseudo comparison type that is only used for index conditions. |
static int |
IS_NOT_NULL
The comparison type meaning IS NOT NULL as in NAME IS NOT NULL. |
static int |
IS_NULL
The comparison type meaning IS NULL as in NAME IS NULL. |
static int |
NOT_EQUAL
The comparison type meaning <> as in ID<>1. |
static int |
SMALLER
The comparison type meaning < as in ID<1. |
static int |
SMALLER_EQUAL
The comparison type meaning <= as in ID<=1. |
Constructor Summary | |
---|---|
Comparison(Session session,
int compareType,
Expression left,
Expression right)
|
Method Summary | |
---|---|
void |
addFilterConditions(TableFilter filter,
boolean outerJoin)
Add conditions to a table filter if they can be evaluated. |
void |
createIndexConditions(Session session,
TableFilter filter)
Create index conditions if possible and attach them to the table filter. |
int |
getCost()
Estimate the cost to process the expression. |
Expression |
getExpression(boolean getLeft)
Get the left or the right sub-expression of this condition. |
Expression |
getNotIfPossible(Session session)
If it is possible, return the negated expression. |
java.lang.String |
getSQL()
Get the SQL statement of this expression. |
Value |
getValue(Session session)
Return the resulting value for the current row. |
boolean |
isEverything(ExpressionVisitor visitor)
Check if this expression and all sub-expressions can fulfill a criteria. |
void |
mapColumns(ColumnResolver resolver,
int level)
Map the columns of the resolver to expression columns. |
Expression |
optimize(Session session)
Try to optimize the expression. |
void |
setEvaluatable(TableFilter tableFilter,
boolean b)
Tell the expression columns whether the table filter can return values now. |
void |
updateAggregate(Session session)
Update an aggregate value. |
Methods inherited from class org.h2.expression.Condition |
---|
getDisplaySize, getPrecision, getScale, getType |
Methods inherited from class org.h2.expression.Expression |
---|
getAlias, getBooleanValue, getColumnName, getNonAliasExpression, getNullable, getSchemaName, getTableAlias, getTableName, isAutoIncrement, isConstant, isEverything, isValueSet, isWildcard, optimizeInJoin, toString |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final int EQUAL
public static final int BIGGER_EQUAL
public static final int BIGGER
public static final int SMALLER_EQUAL
public static final int SMALLER
public static final int NOT_EQUAL
public static final int IS_NULL
public static final int IS_NOT_NULL
public static final int FALSE
public static final int IN_LIST
public static final int IN_QUERY
Constructor Detail |
---|
public Comparison(Session session, int compareType, Expression left, Expression right)
Method Detail |
---|
public java.lang.String getSQL()
Expression
getSQL
in class Expression
public Expression optimize(Session session) throws java.sql.SQLException
Expression
optimize
in class Expression
session
- the session
java.sql.SQLException
public Value getValue(Session session) throws java.sql.SQLException
Expression
getValue
in class Expression
session
- the session
java.sql.SQLException
public Expression getNotIfPossible(Session session)
Expression
getNotIfPossible
in class Expression
session
- the session
public void createIndexConditions(Session session, TableFilter filter)
Expression
createIndexConditions
in class Expression
session
- the sessionfilter
- the table filterpublic void setEvaluatable(TableFilter tableFilter, boolean b)
Expression
setEvaluatable
in class Expression
tableFilter
- the table filterb
- true if the table filter can return valuepublic void updateAggregate(Session session) throws java.sql.SQLException
Expression
updateAggregate
in class Expression
session
- the session
java.sql.SQLException
public void addFilterConditions(TableFilter filter, boolean outerJoin)
Expression
addFilterConditions
in class Expression
filter
- the table filterouterJoin
- if the expression is part of an outer joinpublic void mapColumns(ColumnResolver resolver, int level) throws java.sql.SQLException
Expression
mapColumns
in class Expression
resolver
- the column resolverlevel
- the subquery nesting level
java.sql.SQLException
public boolean isEverything(ExpressionVisitor visitor)
Expression
isEverything
in class Expression
visitor
- the visitor
public int getCost()
Expression
getCost
in class Expression
public Expression getExpression(boolean getLeft)
getLeft
- true to get the left sub-expression, false to get the right
sub-expression.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |