public class JavaFunction extends Expression implements FunctionCall
| 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.
|
int |
getDisplaySize()
Get the display size of this expression.
|
Expression[] |
getExpressionColumns(Session session)
If this expression consists of column expressions it should return them.
|
String |
getName()
Get the name of the function.
|
int |
getParameterCount()
Get the number of parameters.
|
long |
getPrecision()
Get the precision of this expression.
|
int |
getScale()
Get the scale of this expression.
|
String |
getSQL()
Get the SQL statement of this expression.
|
int |
getType()
Return 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.
|
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.
|
boolean |
isFast()
Whether the function is fast, meaning the result shouldn't be cached.
|
void |
mapColumns(ColumnResolver resolver,
int level)
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)
Update an aggregate value.
|
addFilterConditions, createIndexConditions, getAlias, getBooleanValue, getColumnName, getExpressionColumns, getNonAliasExpression, getNotIfPossible, getNullable, getSchemaName, getTableAlias, getTableName, isAutoIncrement, isConstant, isValueSet, isWildcard, toStringpublic JavaFunction(FunctionAlias functionAlias, Expression[] args)
public Value getValue(Session session)
ExpressiongetValue in class Expressionsession - the sessionpublic int getType()
ExpressiongetType in interface FunctionCallgetType in class Expressionpublic void mapColumns(ColumnResolver resolver, int level)
ExpressionmapColumns in class Expressionresolver - the column resolverlevel - the subquery nesting levelpublic 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 int getScale()
ExpressiongetScale in class Expressionpublic long getPrecision()
ExpressiongetPrecision in class Expressionpublic int getDisplaySize()
ExpressiongetDisplaySize in class Expressionpublic String getSQL()
ExpressiongetSQL in interface FunctionCallgetSQL in class Expressionpublic void updateAggregate(Session session)
ExpressionupdateAggregate in class Expressionsession - the sessionpublic String getName()
FunctionCallgetName in interface FunctionCallpublic int getParameterCount()
FunctionCallgetParameterCount 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 boolean isFast()
FunctionCallisFast in interface FunctionCallCopyright © 2012 JBoss by Red Hat. All Rights Reserved.