Package org.h2.expression.function
Class CastSpecification
java.lang.Object
org.h2.expression.Expression
org.h2.expression.Operation1
org.h2.expression.function.Function1
org.h2.expression.function.CastSpecification
- All Implemented Interfaces:
NamedExpression
,HasSQL
,Typed
A cast specification.
-
Field Summary
FieldsFields inherited from class org.h2.expression.Operation1
arg, 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
ConstructorsConstructorDescriptionCastSpecification
(Expression arg, Column column) CastSpecification
(Expression arg, TypeInfo type) -
Method Summary
Modifier and TypeMethodDescriptionprivate static boolean
canOptimizeCast
(int src, int dst) getName()
Get the name.getUnenclosedSQL
(StringBuilder builder, int sqlFlags) Get the SQL statement of this expression.getValue
(SessionLocal session) Return the resulting value for the current row.boolean
Check if this expression will always return the same value.optimize
(SessionLocal session) Try to optimize the expression.Methods inherited from class org.h2.expression.Operation1
getCost, getSubexpression, getSubexpressionCount, getType, isEverything, mapColumns, 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, 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 Details
-
domain
-
-
Constructor Details
-
CastSpecification
-
CastSpecification
-
-
Method Details
-
getValue
Description copied from class:Expression
Return the resulting value for the current row.- Specified by:
getValue
in classExpression
- Parameters:
session
- the session- Returns:
- the result
-
optimize
Description copied from class:Expression
Try to optimize the expression.- Specified by:
optimize
in classExpression
- Parameters:
session
- the session- Returns:
- the optimized expression
-
isConstant
public boolean isConstant()Description copied from class:Expression
Check if this expression will always return the same value.- Overrides:
isConstant
in classExpression
- Returns:
- if the expression is constant
-
canOptimizeCast
private static boolean canOptimizeCast(int src, int dst) -
getUnenclosedSQL
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.- Overrides:
getUnenclosedSQL
in classFunction1
- Parameters:
builder
- string buildersqlFlags
- formatting flags- Returns:
- the specified string builder
-
getName
Description copied from interface:NamedExpression
Get the name.- Returns:
- the name in uppercase
-