public abstract class Operation2 extends Expression
Modifier and Type | Field and Description |
---|---|
protected Expression |
left
The left part of the operation (the first argument).
|
protected Expression |
right
The right part of the operation (the second argument).
|
protected TypeInfo |
type
The type of the result.
|
AUTO_PARENTHESES, MAP_IN_AGGREGATE, MAP_IN_WINDOW, MAP_INITIAL, WITH_PARENTHESES, WITHOUT_PARENTHESES
ADD_PLAN_INFORMATION, DEFAULT_SQL_FLAGS, NO_CASTS, QUOTE_ONLY_WHEN_REQUIRED, REPLACE_LOBS_FOR_TRACE, TRACE_SQL_FLAGS
Modifier | Constructor and Description |
---|---|
protected |
Operation2(Expression left,
Expression right) |
Modifier and Type | Method and Description |
---|---|
int |
getCost()
Estimate the cost to process the expression.
|
Expression |
getSubexpression(int index)
Returns subexpression with specified index.
|
int |
getSubexpressionCount()
Returns count of subexpressions.
|
TypeInfo |
getType()
Returns the data type.
|
boolean |
isEverything(ExpressionVisitor visitor)
Check if this expression and all sub-expressions can fulfill a criteria.
|
void |
mapColumns(ColumnResolver resolver,
int level,
int state)
Map the columns of the resolver to expression columns.
|
void |
setEvaluatable(TableFilter tableFilter,
boolean value)
Tell the expression columns whether the table filter can return values
now.
|
void |
updateAggregate(SessionLocal session,
int stage)
Update an aggregate value.
|
addFilterConditions, createIndexConditions, getAlias, getBooleanValue, getColumnName, getColumnNameForView, getEnclosedSQL, getNonAliasExpression, getNotIfPossible, getNullable, getSchemaName, getSQL, getSQL, getSQL, getSQL, getTableAlias, getTableName, getUnenclosedSQL, getValue, getWhenSQL, getWhenValue, isConstant, isIdentity, isNullConstant, isValueSet, isWhenConditionOperand, needParentheses, optimize, optimizeCondition, toString, writeExpressions, writeExpressions
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getTraceSQL
protected Expression left
protected Expression right
protected TypeInfo type
protected Operation2(Expression left, Expression right)
public TypeInfo getType()
Expression
getType
in interface Typed
getType
in class Expression
public void mapColumns(ColumnResolver resolver, int level, int state)
Expression
mapColumns
in class Expression
resolver
- the column resolverlevel
- the subquery nesting levelstate
- current state for nesting checks, initial value is
Expression.MAP_INITIAL
public void setEvaluatable(TableFilter tableFilter, boolean value)
Expression
setEvaluatable
in class Expression
tableFilter
- the table filtervalue
- true if the table filter can return valuepublic void updateAggregate(SessionLocal session, int stage)
Expression
updateAggregate
in class Expression
session
- the sessionstage
- select stagepublic boolean isEverything(ExpressionVisitor visitor)
Expression
isEverything
in class Expression
visitor
- the visitorpublic int getCost()
Expression
getCost
in class Expression
public int getSubexpressionCount()
Expression
getSubexpressionCount
in class Expression
public Expression getSubexpression(int index)
Expression
getSubexpression
in class Expression
index
- 0-based index