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 Domaindomain-
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 booleancanOptimizeCast(int src, int dst)java.lang.StringgetName()Get the name.java.lang.StringBuildergetUnenclosedSQL(java.lang.StringBuilder builder, int sqlFlags)Get the SQL statement of this expression.ValuegetValue(SessionLocal session)Return the resulting value for the current row.booleanisConstant()Check if this expression will always return the same value.Expressionoptimize(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:ExpressionReturn the resulting value for the current row.- Specified by:
getValuein classExpression- Parameters:
session- the session- Returns:
- the result
-
optimize
public Expression optimize(SessionLocal session)
Description copied from class:ExpressionTry to optimize the expression.- Specified by:
optimizein classExpression- Parameters:
session- the session- Returns:
- the optimized expression
-
isConstant
public boolean isConstant()
Description copied from class:ExpressionCheck if this expression will always return the same value.- Overrides:
isConstantin 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:ExpressionGet the SQL statement of this expression. This may not always be the original SQL statement, especially after optimization. Enclosing '(' and ')' are never appended.- Overrides:
getUnenclosedSQLin classFunction1- Parameters:
builder- string buildersqlFlags- formatting flags- Returns:
- the specified string builder
-
getName
public java.lang.String getName()
Description copied from interface:NamedExpressionGet the name.- Returns:
- the name in uppercase
-
-