|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||
java.lang.Objectorg.h2.expression.Expression
org.h2.expression.JavaFunction
public class JavaFunction
This class wraps a user-defined function.
| Constructor Summary | |
|---|---|
JavaFunction(FunctionAlias functionAlias,
Expression[] args)
|
|
| Method Summary | |
|---|---|
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. |
java.lang.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. |
java.lang.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. |
| Methods inherited from class org.h2.expression.Expression |
|---|
addFilterConditions, createIndexConditions, getAlias, getBooleanValue, getColumnName, getExpressionColumns, getNonAliasExpression, getNotIfPossible, getNullable, getSchemaName, getTableAlias, getTableName, isAutoIncrement, isConstant, isValueSet, isWildcard, toString |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public JavaFunction(FunctionAlias functionAlias,
Expression[] args)
| Method Detail |
|---|
public Value getValue(Session session)
Expression
getValue in class Expressionsession - the session
public int getType()
Expression
getType in interface FunctionCallgetType in class Expression
public void mapColumns(ColumnResolver resolver,
int level)
Expression
mapColumns in class Expressionresolver - the column resolverlevel - the subquery nesting levelpublic Expression optimize(Session session)
Expression
optimize in interface FunctionCalloptimize in class Expressionsession - the session
public void setEvaluatable(TableFilter tableFilter,
boolean b)
Expression
setEvaluatable in class ExpressiontableFilter - the table filterb - true if the table filter can return valuepublic int getScale()
Expression
getScale in class Expressionpublic long getPrecision()
Expression
getPrecision in class Expressionpublic int getDisplaySize()
Expression
getDisplaySize in class Expressionpublic java.lang.String getSQL()
Expression
getSQL in interface FunctionCallgetSQL in class Expressionpublic void updateAggregate(Session session)
Expression
updateAggregate in class Expressionsession - the sessionpublic java.lang.String getName()
FunctionCall
getName in interface FunctionCallpublic int getParameterCount()
FunctionCall
getParameterCount in interface FunctionCall
public ValueResultSet getValueForColumnList(Session session,
Expression[] argList)
FunctionCall
getValueForColumnList in interface FunctionCallsession - the sessionargList - the argument list (some arguments may be null)
public Expression[] getArgs()
FunctionCall
getArgs in interface FunctionCallpublic boolean isEverything(ExpressionVisitor visitor)
Expression
isEverything in class Expressionvisitor - the visitor
public int getCost()
Expression
getCost in class Expressionpublic boolean isDeterministic()
FunctionCall
isDeterministic in interface FunctionCallpublic Expression[] getExpressionColumns(Session session)
Expression
getExpressionColumns in class Expressionsession - the session
public boolean isFast()
FunctionCall
isFast in interface FunctionCall
|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||