org.h2.expression.function

## Class SysInfoFunction

- java.lang.Object
- - org.h2.expression.Expression
  - - org.h2.expression.Operation0
    - - org.h2.expression.function.SysInfoFunction

All Implemented Interfaces:
  NamedExpression, HasSQL, Typed

    public final class SysInfoFunction
    extends Operation0
    implements NamedExpression

Database or session information function.

### Field Summary

Fields
`static int` `AUTOCOMMIT` AUTOCOMMIT().
`static int` `DATABASE_PATH` DATABASE_PATH().
`static int` `H2VERSION` H2VERSION().
`static int` `LOCK_MODE` LOCK_MODE().
`static int` `LOCK_TIMEOUT` LOCK_TIMEOUT().
`static int` `MEMORY_FREE` MEMORY_FREE().
`static int` `MEMORY_USED` MEMORY_USED().
`static int` `READONLY` READONLY().
`static int` `SESSION_ID` SESSION_ID().
`static int` `TRANSACTION_ID` TRANSACTION_ID().

### 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
`SysInfoFunction(int function)`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`int` `getCost()` Estimate the cost to process the expression.
`java.lang.String` `getName()` Get the name.
`static java.lang.String` `getName(int function)` Get the name for this function id.
`TypeInfo` `getType()` Returns the data type.
`java.lang.StringBuilder` `getUnenclosedSQL(java.lang.StringBuilder builder, int sqlFlags)` Get the SQL statement of this expression.
`Value` `getValue(SessionLocal session)` Return the resulting value for the current row.
`boolean` `isEverything(ExpressionVisitor visitor)` Check if this expression and all sub-expressions can fulfill a criteria.

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

`mapColumns, optimize, 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, getSubexpression, getSubexpressionCount, 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

#### AUTOCOMMIT

    public static final int AUTOCOMMIT

AUTOCOMMIT().

See Also:
  Constant Field Values

#### DATABASE_PATH

    public static final int DATABASE_PATH

DATABASE_PATH().

See Also:
  Constant Field Values

#### H2VERSION

    public static final int H2VERSION

H2VERSION().

See Also:
  Constant Field Values

#### LOCK_MODE

    public static final int LOCK_MODE

LOCK_MODE().

See Also:
  Constant Field Values

#### LOCK_TIMEOUT

    public static final int LOCK_TIMEOUT

LOCK_TIMEOUT().

See Also:
  Constant Field Values

#### MEMORY_FREE

    public static final int MEMORY_FREE

MEMORY_FREE().

See Also:
  Constant Field Values

#### MEMORY_USED

    public static final int MEMORY_USED

MEMORY_USED().

See Also:
  Constant Field Values

#### READONLY

    public static final int READONLY

READONLY().

See Also:
  Constant Field Values

#### SESSION_ID

    public static final int SESSION_ID

SESSION_ID().

See Also:
  Constant Field Values

#### TRANSACTION_ID

    public static final int TRANSACTION_ID

TRANSACTION_ID().

See Also:
  Constant Field Values

### Constructor Detail

#### SysInfoFunction

    public SysInfoFunction(int function)

### Method Detail

#### getName

    public static java.lang.String getName(int function)

Get the name for this function id.

Parameters:
  `function` - the function id
Returns:
  the name

#### getValue

    public Value getValue(SessionLocal session)

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

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

#### getUnenclosedSQL

    public java.lang.StringBuilder getUnenclosedSQL(java.lang.StringBuilder builder,
                                                    int sqlFlags)

Description copied from class: `Expression`
Get the SQL statement of this expression. This may not always be the original SQL statement, especially after optimization. Enclosing '(' and ')' are never appended.

Specified by:
  `getUnenclosedSQL` in class `Expression`
Parameters:
  `builder` - string builder
  `sqlFlags` - formatting flags
Returns:
  the specified string builder

#### isEverything

    public boolean isEverything(ExpressionVisitor visitor)

Description copied from class: `Expression`
Check if this expression and all sub-expressions can fulfill a criteria. If any part returns false, the result is false.

Specified by:
  `isEverything` in class `Expression`
Parameters:
  `visitor` - the visitor
Returns:
  if the criteria can be fulfilled

#### getType

    public TypeInfo getType()

Description copied from class: `Expression`
Returns the data type. The data type may be unknown before the optimization phase.

Specified by:
  `getType` in interface `Typed`
Specified by:
  `getType` in class `Expression`
Returns:
  the data type

#### getCost

    public int getCost()

Description copied from class: `Expression`
Estimate the cost to process the expression. Used when optimizing the query, to calculate the query plan with the lowest estimated cost.

Specified by:
  `getCost` in class `Expression`
Returns:
  the estimated cost

#### getName

    public java.lang.String getName()

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

Specified by:
  `getName` in interface `NamedExpression`
Returns:
  the name in uppercase