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.
 ValueResultSet getValueForColumnList(Session session, Expression[] nullArgs)
          Get an empty result set with the column names set.
 boolean isBufferResultSetToLocalTemp()
          Should the return value ResultSet be buffered in a local temporary file?
 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

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

isBufferResultSetToLocalTemp

boolean isBufferResultSetToLocalTemp()
Should the return value ResultSet be buffered in a local temporary file?

Returns:
true if it should be.