|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.h2.expression.ExpressionVisitor
public class ExpressionVisitor
The visitor pattern is used to iterate through all expressions of a query to optimize a statement.
Field Summary | |
---|---|
static int |
DETERMINISTIC
Does the expression return the same results for the same parameters? |
static ExpressionVisitor |
DETERMINISTIC_VISITOR
The visitor singleton for the type DETERMINISTIC. |
static int |
EVALUATABLE
Can the expression be evaluated, that means are all columns set to 'evaluatable'? |
static ExpressionVisitor |
EVALUATABLE_VISITOR
The visitor singleton for the type EVALUATABLE. |
static int |
GET_COLUMNS
Get all referenced columns. |
static int |
GET_DEPENDENCIES
Request to get the set of dependencies (addDependency). |
static int |
INDEPENDENT
Is the value independent on unset parameters or on columns of a higher level query, or sequence values (that means can it be evaluated right now)? |
static ExpressionVisitor |
INDEPENDENT_VISITOR
The visitor singleton for the type INDEPENDENT. |
static int |
NOT_FROM_RESOLVER
Does an expression have no relation to the given table filter (getResolver)? |
static int |
OPTIMIZABLE_MIN_MAX_COUNT_ALL
Are all aggregates MIN(column), MAX(column), or COUNT(*) for the given table (getTable)? |
static int |
QUERY_COMPARABLE
Can the expression be added to a condition of an outer query. |
static ExpressionVisitor |
QUERY_COMPARABLE_VISITOR
The visitor singleton for the type QUERY_COMPARABLE. |
static int |
READONLY
Does the expression have no side effects (change the data)? |
static ExpressionVisitor |
READONLY_VISITOR
The visitor singleton for the type EVALUATABLE. |
static int |
SET_MAX_DATA_MODIFICATION_ID
Request to set the latest modification id (addDataModificationId). |
Method Summary | |
---|---|
void |
addDataModificationId(long value)
Update the field maxDataModificationId if this value is higher than the current value. |
void |
addDependency(DbObject obj)
Add a new dependency to the set of dependencies. |
static ExpressionVisitor |
getColumnsVisitor(java.util.HashSet<Column> columns)
Create a new visitor to get all referenced columns. |
java.util.HashSet<DbObject> |
getDependencies()
Get the dependency set. |
static ExpressionVisitor |
getDependenciesVisitor(java.util.HashSet<DbObject> dependencies)
Create a new visitor object to collect dependencies. |
long |
getMaxDataModificationId()
Get the last data modification. |
static ExpressionVisitor |
getMaxModificationIdVisitor()
|
static ExpressionVisitor |
getOptimizableVisitor(Table table)
Create a new visitor to check if all aggregates are for the given table. |
ColumnResolver |
getResolver()
Get the column resolver. |
Table |
getTable()
Get the table. |
int |
getType()
Get the visitor type. |
ExpressionVisitor |
incrementQueryLevel(int offset)
Increment or decrement the query level. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int INDEPENDENT
public static final ExpressionVisitor INDEPENDENT_VISITOR
public static final int OPTIMIZABLE_MIN_MAX_COUNT_ALL
public static final int DETERMINISTIC
public static final ExpressionVisitor DETERMINISTIC_VISITOR
public static final int EVALUATABLE
public static final ExpressionVisitor EVALUATABLE_VISITOR
public static final int SET_MAX_DATA_MODIFICATION_ID
public static final int READONLY
public static final ExpressionVisitor READONLY_VISITOR
public static final int NOT_FROM_RESOLVER
public static final int GET_DEPENDENCIES
public static final int QUERY_COMPARABLE
public static final int GET_COLUMNS
public static final ExpressionVisitor QUERY_COMPARABLE_VISITOR
Method Detail |
---|
public static ExpressionVisitor getDependenciesVisitor(java.util.HashSet<DbObject> dependencies)
dependencies
- the dependencies set
public static ExpressionVisitor getOptimizableVisitor(Table table)
table
- the table
public static ExpressionVisitor getColumnsVisitor(java.util.HashSet<Column> columns)
columns
- the columns map
public static ExpressionVisitor getMaxModificationIdVisitor()
public void addDependency(DbObject obj)
obj
- the additional dependency.public java.util.HashSet<DbObject> getDependencies()
public ExpressionVisitor incrementQueryLevel(int offset)
offset
- 1 to increment, -1 to decrement
public ColumnResolver getResolver()
public void addDataModificationId(long value)
value
- the data modification idpublic long getMaxDataModificationId()
public Table getTable()
public int getType()
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |