org.h2.expression.function

## Class ArrayFunction

- java.lang.Object
- - org.h2.expression.Expression
  - - org.h2.expression.OperationN
    - - org.h2.expression.function.FunctionN
      - - org.h2.expression.function.ArrayFunction

All Implemented Interfaces:
  ExpressionWithVariableParameters, NamedExpression, HasSQL, Typed

    public final class ArrayFunction
    extends FunctionN

An array function.

### Field Summary

Fields
`static int` `ARRAY_CONTAINS` ARRAY_CONTAINS() (non-standard).
`static int` `ARRAY_SLICE` ARRAY_SLICE() (non-standard).
`static int` `TRIM_ARRAY` TRIM_ARRAY().

### Fields inherited from class org.h2.expression.OperationN

`args, argsCount, type`

### Fields inherited from class org.h2.expression.Expression

`AUTO_PARENTHESES, MAP_IN_AGGREGATE, MAP_IN_WINDOW, MAP_INITIAL, WITH_PARENTHESES, WITHOUT_PARENTHESES`

### 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 and Description
`ArrayFunction(Expression arg1, Expression arg2, Expression arg3, int function)`

### Method Summary

All Methods Instance Methods Concrete Methods
`java.lang.String` `getName()` Get the name.
`Value` `getValue(SessionLocal session)` Return the resulting value for the current row.
`Expression` `optimize(SessionLocal session)` Try to optimize the expression.

### Methods inherited from class org.h2.expression.function.FunctionN

`getUnenclosedSQL, getValue, isEverythingNonDeterministic`

### Methods inherited from class org.h2.expression.OperationN

`addParameter, doneWithParameters, getCost, getSubexpression, getSubexpressionCount, getType, isEverything, mapColumns, optimizeArguments, setEvaluatable, updateAggregate`

### Methods inherited from class org.h2.expression.Expression

`addFilterConditions, createIndexConditions, getAlias, getBooleanValue, getColumnName, getColumnNameForView, getEnclosedSQL, getNonAliasExpression, getNotIfPossible, getNullable, getSchemaName, getSQL, getSQL, getSQL, getSQL, getTableAlias, getTableName, getWhenSQL, getWhenValue, isConstant, isIdentity, isNullConstant, isValueSet, isWhenConditionOperand, needParentheses, optimizeCondition, toString, writeExpressions, writeExpressions`

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

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

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

`getTraceSQL`

### Field Detail

#### TRIM_ARRAY

    public static final int TRIM_ARRAY

TRIM_ARRAY().

See Also:
  Constant Field Values

#### ARRAY_CONTAINS

    public static final int ARRAY_CONTAINS

ARRAY_CONTAINS() (non-standard).

See Also:
  Constant Field Values

#### ARRAY_SLICE

    public static final int ARRAY_SLICE

ARRAY_SLICE() (non-standard).

See Also:
  Constant Field Values

### Constructor Detail

#### ArrayFunction

    public ArrayFunction(Expression arg1,
                         Expression arg2,
                         Expression arg3,
                         int function)

### Method Detail

#### getValue

    public Value getValue(SessionLocal session)

Description copied from class: `Expression`
Return the resulting value for the current row.

Overrides:
  `getValue` in class `FunctionN`
Parameters:
  `session` - the session
Returns:
  the result

#### optimize

    public Expression optimize(SessionLocal session)

Description copied from class: `Expression`
Try to optimize the expression.

Specified by:
  `optimize` in class `Expression`
Parameters:
  `session` - the session
Returns:
  the optimized expression

#### getName

    public java.lang.String getName()

Description copied from interface: `NamedExpression`
Get the name.

Returns:
  the name in uppercase