Top Description Fields Constructors Methods
org.h2.expression

public abstract Class Operation0

extends Expression
Class Inheritance
Known Direct Subclasses
org.h2.expression.DomainValueExpression, org.h2.expression.Parameter, org.h2.expression.Rownum, org.h2.expression.SequenceValue, org.h2.expression.ValueExpression, org.h2.expression.Variable, org.h2.expression.function.CurrentDateTimeValueFunction, org.h2.expression.function.CurrentGeneralValueSpecification, org.h2.expression.function.SysInfoFunction, org.h2.mode.CompatibilityDateTimeValueFunction, org.h2.mode.OnDuplicateKeyValues
Imports
org.h2.engine.SessionLocal, org.h2.table.ColumnResolver, .TableFilter

Operation without subexpressions.

Field Summary

Inherited from org.h2.expression.Expression:
AUTO_PARENTHESESMAP_IN_AGGREGATEMAP_IN_WINDOWMAP_INITIALWITH_PARENTHESESWITHOUT_PARENTHESES

Constructor Summary

AccessConstructor and Description
protected

Method Summary

Modifier and TypeMethod and Description
public void
mapColumns(ColumnResolver
the column resolver
resolver
,
int
the subquery nesting level
level
,
int
current state for nesting checks, initial value is MAP_INITIAL
state
)

Implements abstract org.h2.expression.Expression.mapColumns.

Map the columns of the resolver to expression columns.

public Expression
optimize(SessionLocal
the session
session
)

Implements abstract org.h2.expression.Expression.optimize.

Try to optimize the expression.

public void
setEvaluatable(TableFilter
the table filter
tableFilter
,
boolean
true if the table filter can return value
value
)

Implements abstract org.h2.expression.Expression.setEvaluatable.

Tell the expression columns whether the table filter can return values now.

public void
updateAggregate(SessionLocal
the session
session
,
int
select stage
stage
)

Implements abstract org.h2.expression.Expression.updateAggregate.

Update an aggregate value.

Inherited from org.h2.expression.Expression:
addFilterConditionscreateIndexConditionsgetAliasgetBooleanValuegetColumnNamegetColumnNameForViewgetCostgetEnclosedSQLgetNonAliasExpressiongetNotIfPossiblegetNullablegetSchemaNamegetSQLgetSQLgetSQLgetSQLgetSubexpressiongetSubexpressionCountgetTableAliasgetTableNamegetTypegetTypeIfStaticallyKnowngetUnenclosedSQLgetValuegetWhenSQLgetWhenValueisConstantisEverythingisIdentityisNullConstantisValueSetisWhenConditionOperandneedParenthesesoptimizeConditiontoStringwriteExpressionswriteExpressions

Constructor Detail

Operation0back to summary
protected Operation0()

Method Detail

mapColumnsback to summary
public void mapColumns(ColumnResolver resolver, int level, int state)

Implements abstract org.h2.expression.Expression.mapColumns.

Doc from org.h2.expression.Expression.mapColumns.

Map the columns of the resolver to expression columns.

Parameters
resolver:ColumnResolver

the column resolver

level:int

the subquery nesting level

state:int

current state for nesting checks, initial value is MAP_INITIAL

Annotations
@Override
optimizeback to summary
public Expression optimize(SessionLocal session)

Implements abstract org.h2.expression.Expression.optimize.

Doc from org.h2.expression.Expression.optimize.

Try to optimize the expression.

Parameters
session:SessionLocal

the session

Returns:Expression

the optimized expression

Annotations
@Override
setEvaluatableback to summary
public void setEvaluatable(TableFilter tableFilter, boolean value)

Implements abstract org.h2.expression.Expression.setEvaluatable.

Doc from org.h2.expression.Expression.setEvaluatable.

Tell the expression columns whether the table filter can return values now. This is used when optimizing the query.

Parameters
tableFilter:TableFilter

the table filter

value:boolean

true if the table filter can return value

Annotations
@Override
updateAggregateback to summary
public void updateAggregate(SessionLocal session, int stage)

Implements abstract org.h2.expression.Expression.updateAggregate.

Doc from org.h2.expression.Expression.updateAggregate.

Update an aggregate value. This method is called at statement execution time. It is usually called once for each row, but if the expression is used multiple times (for example in the column list, and as part of the HAVING expression) it is called multiple times - the row counter needs to be used to make sure the internal state is only updated once.

Parameters
session:SessionLocal

the session

stage:int

select stage

Annotations
@Override