|
||||||||||
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. |
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[] args)
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. |
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, getNonAliasExpression, getNotIfPossible, getNullable, getSchemaName, getTableAlias, getTableName, isAutoIncrement, isConstant, isEverything, isValueSet, isWildcard, optimizeInJoin, 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) throws java.sql.SQLException
java.sql.SQLException
Method Detail |
---|
public Value getValue(Session session) throws java.sql.SQLException
Expression
getValue
in interface FunctionCall
getValue
in class Expression
session
- the session
java.sql.SQLException
public int getType()
Expression
getType
in interface FunctionCall
getType
in class Expression
public void mapColumns(ColumnResolver resolver, int level) throws java.sql.SQLException
Expression
mapColumns
in class Expression
resolver
- the column resolverlevel
- the subquery nesting level
java.sql.SQLException
public Expression optimize(Session session) throws java.sql.SQLException
Expression
optimize
in interface FunctionCall
optimize
in class Expression
session
- the session
java.sql.SQLException
public void setEvaluatable(TableFilter tableFilter, boolean b)
Expression
setEvaluatable
in class Expression
tableFilter
- the table filterb
- true if the table filter can return valuepublic int getScale()
Expression
getScale
in class Expression
public long getPrecision()
Expression
getPrecision
in class Expression
public int getDisplaySize()
Expression
getDisplaySize
in class Expression
public java.lang.String getSQL()
Expression
getSQL
in interface FunctionCall
getSQL
in class Expression
public void updateAggregate(Session session) throws java.sql.SQLException
Expression
updateAggregate
in class Expression
session
- the session
java.sql.SQLException
public java.lang.String getName()
FunctionCall
getName
in interface FunctionCall
public int getParameterCount()
FunctionCall
getParameterCount
in interface FunctionCall
public ValueResultSet getValueForColumnList(Session session, Expression[] args) throws java.sql.SQLException
FunctionCall
getValueForColumnList
in interface FunctionCall
session
- the sessionargs
- the argument list (some arguments may be null)
java.sql.SQLException
public Expression[] getArgs()
FunctionCall
getArgs
in interface FunctionCall
public boolean isEverything(ExpressionVisitor visitor)
Expression
isEverything
in class Expression
visitor
- the visitor
public int getCost()
Expression
getCost
in class Expression
public boolean isDeterministic()
FunctionCall
isDeterministic
in interface FunctionCall
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |