org.h2.expression.function

## Interface FunctionCall

All Known Implementing Classes:
  Function, FunctionsMSSQLServer, FunctionsMySQL, JavaFunction, TableFunction

    public interface FunctionCall

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

### Method Summary

Methods
`Expression[]` `getArgs()` Get the function arguments.
`java.lang.String` `getName()` Get the name of the function.
`java.lang.String` `getSQL(boolean alwaysQuote)` Get the SQL snippet of the function (including arguments).
`ValueResultSet` `getValueForColumnList(Session session, Expression[] nullArgs)` Get an empty result set with the column names set.
`int` `getValueType()` Get the data type.
`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

#### 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

#### getValueType

    int getValueType()

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(boolean alwaysQuote)

Get the SQL snippet of the function (including arguments).

Parameters:
  `alwaysQuote` - quote all identifiers
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.