public abstract class OperationN extends Expression implements ExpressionWithVariableParameters
| Modifier and Type | Field and Description |
|---|---|
protected Expression[] |
args
The array of arguments.
|
protected int |
argsCount
The number of arguments.
|
protected TypeInfo |
type
The type of the result.
|
AUTO_PARENTHESES, MAP_IN_AGGREGATE, MAP_IN_WINDOW, MAP_INITIAL, WITH_PARENTHESES, WITHOUT_PARENTHESESADD_PLAN_INFORMATION, DEFAULT_SQL_FLAGS, NO_CASTS, QUOTE_ONLY_WHEN_REQUIRED, REPLACE_LOBS_FOR_TRACE, TRACE_SQL_FLAGS| Modifier | Constructor and Description |
|---|---|
protected |
OperationN(Expression[] args) |
| Modifier and Type | Method and Description |
|---|---|
void |
addParameter(Expression param)
Adds the parameter expression.
|
void |
doneWithParameters()
This method must be called after all the parameters have been set.
|
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.
|
protected boolean |
optimizeArguments(SessionLocal session,
boolean allConst)
Optimizes arguments.
|
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, writeExpressionsclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetTraceSQLprotected Expression[] args
protected int argsCount
protected TypeInfo type
protected OperationN(Expression[] args)
public void addParameter(Expression param)
ExpressionWithVariableParametersaddParameter in interface ExpressionWithVariableParametersparam - the expressionpublic void doneWithParameters()
throws DbException
ExpressionWithVariableParametersdoneWithParameters in interface ExpressionWithVariableParametersDbException - if the parameter count is incorrect.public TypeInfo getType()
ExpressiongetType in interface TypedgetType in class Expressionpublic void mapColumns(ColumnResolver resolver, int level, int state)
ExpressionmapColumns in class Expressionresolver - the column resolverlevel - the subquery nesting levelstate - current state for nesting checks, initial value is
Expression.MAP_INITIALprotected boolean optimizeArguments(SessionLocal session, boolean allConst)
session - the sessionallConst - whether operation is deterministicpublic void setEvaluatable(TableFilter tableFilter, boolean value)
ExpressionsetEvaluatable in class ExpressiontableFilter - the table filtervalue - true if the table filter can return valuepublic void updateAggregate(SessionLocal session, int stage)
ExpressionupdateAggregate in class Expressionsession - the sessionstage - select stagepublic boolean isEverything(ExpressionVisitor visitor)
ExpressionisEverything in class Expressionvisitor - the visitorpublic int getCost()
ExpressiongetCost in class Expressionpublic int getSubexpressionCount()
ExpressiongetSubexpressionCount in class Expressionpublic Expression getSubexpression(int index)
ExpressiongetSubexpression in class Expressionindex - 0-based index