Package org.h2.expression.function.table

# Class ArrayTableFunction

java.lang.Object
org.h2.expression.function.table.TableFunction
org.h2.expression.function.table.ArrayTableFunction

All Implemented Interfaces:
  `ExpressionWithVariableParameters`, `NamedExpression`, `HasSQL`

public final class ArrayTableFunction extends TableFunction
A table value function.

## Field Summary

Fields
Modifier and Type
Field
Description
`static final int`
`TABLE`
TABLE() (non-standard).
`static final int`
`TABLE_DISTINCT`
TABLE_DISTINCT() (non-standard).
`static final int`
`UNNEST`
UNNEST().

### Fields inherited from class org.h2.expression.function.table.TableFunction

`args`

### Fields inherited from interface org.h2.util.HasSQL

`ADD_PLAN_INFORMATION, DEFAULT_SQL_FLAGS, NO_CASTS, QUOTE_ONLY_WHEN_REQUIRED, REPLACE_LOBS_FOR_TRACE, TRACE_SQL_FLAGS`

## Constructor Summary

Constructors
Constructor
Description
`ArrayTableFunction(int function)`

## Method Summary

Modifier and Type
Method
Description
`int`
`getFunctionType()`
`String`
`getName()`
Get the name.
`StringBuilder`
`getSQL(StringBuilder builder, int sqlFlags)`
Appends the SQL statement of this object to the specified builder.
`ResultInterface`
`getValue(SessionLocal session)`
Get a result with.
`ResultInterface`
`getValueTemplate(SessionLocal session)`
Get an empty result with the column names set.
`boolean`
`isDeterministic()`
Whether the function always returns the same result for the same parameters.
`void`
`optimize(SessionLocal session)`
Try to optimize this table function
`void`
`setColumns(ArrayList<Column> columns)`

### Methods inherited from class org.h2.expression.function.table.TableFunction

`addParameter, doneWithParameters`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.h2.util.HasSQL

`getSQL, getTraceSQL`

## Field Details

### UNNEST

public static final int UNNEST
UNNEST().

See Also:
  - Constant Field Values

### TABLE

public static final int TABLE
TABLE() (non-standard).

See Also:
  - Constant Field Values

### TABLE_DISTINCT

public static final int TABLE_DISTINCT
TABLE_DISTINCT() (non-standard).

See Also:
  - Constant Field Values

## Constructor Details

### ArrayTableFunction

public ArrayTableFunction(int function)

## Method Details

### getValue

public ResultInterface getValue(SessionLocal session)
Description copied from class: `TableFunction`
Get a result with.

Specified by:
  `getValue` in class `TableFunction`
Parameters:
  `session` - the session
Returns:
  the result

### optimize

public void optimize(SessionLocal session)
Description copied from class: `TableFunction`
Try to optimize this table function

Overrides:
  `optimize` in class `TableFunction`
Parameters:
  `session` - the session

### getSQL

public StringBuilder getSQL(StringBuilder builder, int sqlFlags)
Description copied from interface: `HasSQL`
Appends the SQL statement of this object to the specified builder.

Specified by:
  `getSQL` in interface `HasSQL`
Overrides:
  `getSQL` in class `TableFunction`
Parameters:
  `builder` - string builder
  `sqlFlags` - formatting flags
Returns:
  the specified string builder

### getValueTemplate

public ResultInterface getValueTemplate(SessionLocal session)
Description copied from class: `TableFunction`
Get an empty result with the column names set.

Specified by:
  `getValueTemplate` in class `TableFunction`
Parameters:
  `session` - the session
Returns:
  the empty result

### setColumns

public void setColumns(ArrayList<Column> columns)

### getName

public String getName()
Description copied from interface: `NamedExpression`
Get the name.

Returns:
  the name in uppercase

### isDeterministic

public boolean isDeterministic()
Description copied from class: `TableFunction`
Whether the function always returns the same result for the same parameters.

Specified by:
  `isDeterministic` in class `TableFunction`
Returns:
  true if it does

### getFunctionType

public int getFunctionType()