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
public final class CastSpecification extends Function1
A cast specification.
-
-
Field Summary
Fields Modifier and Type Field Description private Domain
domain
-
Fields 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
Constructors Constructor Description CastSpecification(Expression arg, Column column)
CastSpecification(Expression arg, TypeInfo type)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static boolean
canOptimizeCast(int src, int dst)
java.lang.String
getName()
Get the name.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.Expression
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 Detail
-
domain
private Domain domain
-
-
Constructor Detail
-
CastSpecification
public CastSpecification(Expression arg, Column column)
-
CastSpecification
public CastSpecification(Expression arg, TypeInfo type)
-
-
Method Detail
-
getValue
public Value getValue(SessionLocal session)
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
public Expression optimize(SessionLocal session)
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
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.- Overrides:
getUnenclosedSQL
in classFunction1
- Parameters:
builder
- string buildersqlFlags
- formatting flags- Returns:
- the specified string builder
-
getName
public java.lang.String getName()
Description copied from interface:NamedExpression
Get the name.- Returns:
- the name in uppercase
-
-