| 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. |
| Access | Constructor and Description |
|---|---|
| protected |
| Modifier and Type | Method and Description |
|---|---|
| public void | addParameter(Expression
the expression param)Implements org. Adds the parameter expression. |
| public void | doneWithParameters()
Implements org. This method must be called after all the parameters have been set. |
| public int | getCost()
Implements abstract org. Estimate the cost to process the expression. |
| public Expression | getSubexpression(int
0-based index index)Overrides org. Returns subexpression with specified index. |
| public int | getSubexpressionCount()
Overrides org. Returns count of subexpressions. |
| public TypeInfo | getType()
Implements abstract org. Implements org. Returns the data type. |
| public boolean | isEverything(ExpressionVisitor
the visitor visitor)Implements abstract org. Check if this expression and all sub-expressions can fulfill a criteria. |
| public void | mapColumns(ColumnResolver
the column resolver resolver, int the subquery nesting level level, int current state for nesting checks, initial value is
state)MAP_INITIALImplements abstract org. Map the columns of the resolver to expression columns. |
| protected boolean | Returns: whether operation is deterministic and all arguments are constantsthe session session, boolean whether operation is deterministic allConst)Optimizes arguments. |
| public void | setEvaluatable(TableFilter
the table filter tableFilter, boolean true if the table filter can return value value)Implements abstract org. 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. Update an aggregate value. |
| args | back to summary |
|---|---|
| protected Expression[] args The array of arguments. | |
| argsCount | back to summary |
|---|---|
| protected int argsCount The number of arguments. | |
| type | back to summary |
|---|---|
| protected TypeInfo type The type of the result. | |
| OperationN | back to summary |
|---|---|
| protected OperationN(Expression[] args) | |
| addParameter | back to summary |
|---|---|
| public void addParameter(Expression param) Implements org. Doc from org. Adds the parameter expression.
| |
| doneWithParameters | back to summary |
|---|---|
| public void doneWithParameters() throws DbException Implements org. Doc from org. This method must be called after all the parameters have been set. It checks if the parameter count is correct when required by the implementation.
| |
| getCost | back to summary |
|---|---|
| public int getCost() Implements abstract org. Doc from org. Estimate the cost to process the expression. Used when optimizing the query, to calculate the query plan with the lowest estimated cost.
| |
| getSubexpression | back to summary |
|---|---|
| public Expression getSubexpression(int index) Overrides org. Doc from org. Returns subexpression with specified index.
| |
| getSubexpressionCount | back to summary |
|---|---|
| public int getSubexpressionCount() Overrides org. Doc from org. Returns count of subexpressions.
| |
| getType | back to summary |
|---|---|
| public TypeInfo getType() Implements abstract org. Implements org. Doc from org. Returns the data type. The data type may be unknown before the optimization phase. | |
| isEverything | back to summary |
|---|---|
| public boolean isEverything(ExpressionVisitor visitor) Implements abstract org. Doc from org. Check if this expression and all sub-expressions can fulfill a criteria. If any part returns false, the result is false.
| |
| mapColumns | back to summary |
|---|---|
| public void mapColumns(ColumnResolver resolver, int level, int state) Implements abstract org. Doc from org. Map the columns of the resolver to expression columns.
| |
| optimizeArguments | back to summary |
|---|---|
| protected boolean optimizeArguments(SessionLocal session, boolean allConst) Optimizes arguments.
| |
| setEvaluatable | back to summary |
|---|---|
| public void setEvaluatable(TableFilter tableFilter, boolean value) Implements abstract org. Doc from org. Tell the expression columns whether the table filter can return values now. This is used when optimizing the query.
| |
| updateAggregate | back to summary |
|---|---|
| public void updateAggregate(SessionLocal session, int stage) Implements abstract org. Doc from org. 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.
| |