org.h2.expression

## Class ValueExpression

- java.lang.Object
- - org.h2.expression.Expression
  - - org.h2.expression.Operation0
    - - org.h2.expression.ValueExpression

All Implemented Interfaces:
  HasSQL, Typed

Direct Known Subclasses:
  TypedValueExpression

    public class ValueExpression
    extends Operation0

An expression representing a constant value.

### Field Summary

Fields
`static ValueExpression` `DEFAULT` This special expression represents the default value.
`static ValueExpression` `FALSE` The expression represents ValueBoolean.FALSE.
`static ValueExpression` `NULL` The expression represents ValueNull.INSTANCE.
`static ValueExpression` `TRUE` The expression represents ValueBoolean.TRUE.

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

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`void` `createIndexConditions(SessionLocal session, TableFilter filter)` Create index conditions if possible and attach them to the table filter.
`static ValueExpression` `get(Value value)` Create a new expression with the given value.
`static ValueExpression` `getBoolean(boolean value)` Create a new expression with the given boolean value.
`static ValueExpression` `getBoolean(Value value)` Create a new expression with the given boolean value.
`int` `getCost()` Estimate the cost to process the expression.
`Expression` `getNotIfPossible(SessionLocal session)` If it is possible, return the negated expression.
`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` `isConstant()` Check if this expression will always return the same value.
`boolean` `isEverything(ExpressionVisitor visitor)` Check if this expression and all sub-expressions can fulfill a criteria.
`boolean` `isNullConstant()` Check if this expression will always return the NULL value.
`boolean` `isValueSet()` Is the value of a parameter set.

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

`mapColumns, optimize, setEvaluatable, updateAggregate`

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

`addFilterConditions, getAlias, getBooleanValue, getColumnName, getColumnNameForView, getEnclosedSQL, getNonAliasExpression, getNullable, getSchemaName, getSQL, getSQL, getSQL, getSQL, getSubexpression, getSubexpressionCount, getTableAlias, getTableName, getWhenSQL, getWhenValue, isIdentity, 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

#### NULL

    public static final ValueExpression NULL

The expression represents ValueNull.INSTANCE.

#### DEFAULT

    public static final ValueExpression DEFAULT

This special expression represents the default value. It is used for UPDATE statements of the form SET COLUMN = DEFAULT. The value is ValueNull.INSTANCE, but should never be accessed.

#### TRUE

    public static final ValueExpression TRUE

The expression represents ValueBoolean.TRUE.

#### FALSE

    public static final ValueExpression FALSE

The expression represents ValueBoolean.FALSE.

### Method Detail

#### get

    public static ValueExpression get(Value value)

Create a new expression with the given value.

Parameters:
  `value` - the value
Returns:
  the expression

#### getBoolean

    public static ValueExpression getBoolean(Value value)

Create a new expression with the given boolean value.

Parameters:
  `value` - the boolean value
Returns:
  the expression

#### getBoolean

    public static ValueExpression getBoolean(boolean value)

Create a new expression with the given boolean value.

Parameters:
  `value` - the boolean value
Returns:
  the expression

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

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

#### createIndexConditions

    public void createIndexConditions(SessionLocal session,
                                      TableFilter filter)

Description copied from class: `Expression`
Create index conditions if possible and attach them to the table filter.

Overrides:
  `createIndexConditions` in class `Expression`
Parameters:
  `session` - the session
  `filter` - the table filter

#### getNotIfPossible

    public Expression getNotIfPossible(SessionLocal session)

Description copied from class: `Expression`
If it is possible, return the negated expression. This is used to optimize NOT expressions: NOT ID>10 can be converted to ID<=10. Returns null if negating is not possible.

Overrides:
  `getNotIfPossible` in class `Expression`
Parameters:
  `session` - the session
Returns:
  the negated expression, or null

#### isConstant

    public boolean isConstant()

Description copied from class: `Expression`
Check if this expression will always return the same value.

Overrides:
  `isConstant` in class `Expression`
Returns:
  if the expression is constant

#### isNullConstant

    public boolean isNullConstant()

Description copied from class: `Expression`
Check if this expression will always return the NULL value.

Overrides:
  `isNullConstant` in class `Expression`
Returns:
  if the expression is constant NULL value

#### isValueSet

    public boolean isValueSet()

Description copied from class: `Expression`
Is the value of a parameter set.

Overrides:
  `isValueSet` in class `Expression`
Returns:
  true if set

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

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