public class JavaFunction extends Expression implements FunctionCall
MAP_IN_AGGREGATE, MAP_IN_WINDOW, MAP_INITIAL| Constructor and Description |
|---|
JavaFunction(FunctionAlias functionAlias,
Expression[] args) |
| Modifier and Type | Method and Description |
|---|---|
Expression[] |
getArgs()
Get the function arguments.
|
int |
getCost()
Estimate the cost to process the expression.
|
Expression[] |
getExpressionColumns(Session session)
If this expression consists of column expressions it should return them.
|
java.lang.String |
getName()
Get the name of the function.
|
java.lang.StringBuilder |
getSQL(java.lang.StringBuilder builder,
boolean alwaysQuote)
Appends the SQL statement of this expression to the specified builder.
|
Expression |
getSubexpression(int index)
Returns subexpression with specified index.
|
int |
getSubexpressionCount()
Returns count of subexpressions.
|
TypeInfo |
getType()
Returns the data type.
|
Value |
getValue(Session session)
Return the resulting value for the current row.
|
ValueResultSet |
getValueForColumnList(Session session,
Expression[] argList)
Get an empty result set with the column names set.
|
int |
getValueType()
Get the data type.
|
boolean |
isDeterministic()
Whether the function always returns the same result for the same
parameters.
|
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.
|
Expression |
optimize(Session session)
Try to optimize the expression.
|
void |
setEvaluatable(TableFilter tableFilter,
boolean b)
Tell the expression columns whether the table filter can return values
now.
|
void |
updateAggregate(Session session,
int stage)
Update an aggregate value.
|
addFilterConditions, createIndexConditions, getAlias, getBooleanValue, getColumnName, getExpressionColumns, getExpressionColumns, getNonAliasExpression, getNotIfPossible, getNullable, getSchemaName, getSQL, getTableAlias, getTableName, getUnenclosedSQL, isAutoIncrement, isConstant, isNullConstant, isValueSet, toString, writeExpressions, writeExpressionsclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetSQLpublic JavaFunction(FunctionAlias functionAlias, Expression[] args)
public Value getValue(Session session)
ExpressiongetValue in class Expressionsession - the sessionpublic TypeInfo getType()
ExpressiongetType in class Expressionpublic int getValueType()
FunctionCallgetValueType in interface FunctionCallpublic 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_INITIALpublic Expression optimize(Session session)
Expressionoptimize in interface FunctionCalloptimize in class Expressionsession - the sessionpublic void setEvaluatable(TableFilter tableFilter, boolean b)
ExpressionsetEvaluatable in class ExpressiontableFilter - the table filterb - true if the table filter can return valuepublic java.lang.StringBuilder getSQL(java.lang.StringBuilder builder,
boolean alwaysQuote)
ExpressiongetSQL in class Expressionbuilder - string builderalwaysQuote - quote all identifierspublic void updateAggregate(Session session, int stage)
ExpressionupdateAggregate in class Expressionsession - the sessionstage - select stagepublic java.lang.String getName()
FunctionCallgetName in interface FunctionCallpublic ValueResultSet getValueForColumnList(Session session, Expression[] argList)
FunctionCallgetValueForColumnList in interface FunctionCallsession - the sessionargList - the argument list (some arguments may be null)public Expression[] getArgs()
FunctionCallgetArgs in interface FunctionCallpublic boolean isEverything(ExpressionVisitor visitor)
ExpressionisEverything in class Expressionvisitor - the visitorpublic int getCost()
ExpressiongetCost in class Expressionpublic boolean isDeterministic()
FunctionCallisDeterministic in interface FunctionCallpublic Expression[] getExpressionColumns(Session session)
ExpressiongetExpressionColumns in class Expressionsession - the sessionpublic int getSubexpressionCount()
ExpressiongetSubexpressionCount in class Expressionpublic Expression getSubexpression(int index)
ExpressiongetSubexpression in class Expressionindex - 0-based index