org.h2.expression
Interface FunctionCall

All Known Implementing Classes:
Function, JavaFunction, TableFunction

public interface FunctionCall

This interface is used by the built-in functions, as well as the user-defined functions.


Method Summary
 Expression[] getArgs()
          Get the function arguments.
 java.lang.String getName()
          Get the name of the function.
 int getParameterCount()
          Get the number of parameters.
 java.lang.String getSQL()
          Get the SQL snippet of the function (including arguments).
 int getType()
          Get the data type.
 Value getValue(Session session)
          Calculate the result.
 ValueResultSet getValueForColumnList(Session session, Expression[] nullArgs)
          Get an empty result set with the column names set.
 boolean isDeterministic()
          Whether the function always returns the same result for the same parameters.
 Expression optimize(Session session)
          Optimize the function if possible.
 

Method Detail

getName

java.lang.String getName()
Get the name of the function.

Returns:
the name

getParameterCount

int getParameterCount()
Get the number of parameters.

Returns:
the number of parameters

getValueForColumnList

ValueResultSet getValueForColumnList(Session session,
                                     Expression[] nullArgs)
Get an empty result set with the column names set.

Parameters:
session - the session
nullArgs - the argument list (some arguments may be null)
Returns:
the empty result set

getType

int getType()
Get the data type.

Returns:
the data type

optimize

Expression optimize(Session session)
Optimize the function if possible.

Parameters:
session - the session
Returns:
the optimized expression

getValue

Value getValue(Session session)
Calculate the result.

Parameters:
session - the session
Returns:
the result

getArgs

Expression[] getArgs()
Get the function arguments.

Returns:
argument list

getSQL

java.lang.String getSQL()
Get the SQL snippet of the function (including arguments).

Returns:
the SQL snippet.

isDeterministic

boolean isDeterministic()
Whether the function always returns the same result for the same parameters.

Returns:
true if it does