Package org.h2.expression.function
Class CastSpecification
- java.lang.Object
-
- org.h2.expression.Expression
-
- org.h2.expression.Operation1_2
-
- org.h2.expression.function.Function1_2
-
- org.h2.expression.function.CastSpecification
-
- All Implemented Interfaces:
NamedExpression,HasSQL,Typed
public final class CastSpecification extends Function1_2
A cast specification.
-
-
Field Summary
-
Fields inherited from class org.h2.expression.Operation1_2
left, right, 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, Column column, Expression template)CastSpecification(Expression arg, TypeInfo type)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringgetName()Get the name.TypeInfogetTypeIfStaticallyKnown(SessionLocal session)Returns data type of this expression if it is statically known.java.lang.StringBuildergetUnenclosedSQL(java.lang.StringBuilder builder, int sqlFlags)Get the SQL statement of this expression.protected ValuegetValue(SessionLocal session, Value v1, Value v2)Returns the value of this function.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.function.Function1_2
getValue
-
Methods inherited from class org.h2.expression.Operation1_2
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
-
-
-
-
Constructor Detail
-
CastSpecification
public CastSpecification(Expression arg, Column column, Expression template)
-
CastSpecification
public CastSpecification(Expression arg, Column column)
-
CastSpecification
public CastSpecification(Expression arg, TypeInfo type)
-
-
Method Detail
-
getValue
protected Value getValue(SessionLocal session, Value v1, Value v2)
Description copied from class:Function1_2Returns the value of this function.- Overrides:
getValuein classFunction1_2- Parameters:
session- the sessionv1- the value of first argumentv2- the value of second argument, ornull- Returns:
- the resulting value
-
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
-
getTypeIfStaticallyKnown
public TypeInfo getTypeIfStaticallyKnown(SessionLocal session)
Description copied from class:ExpressionReturns data type of this expression if it is statically known.- Overrides:
getTypeIfStaticallyKnownin classExpression- Parameters:
session- the session- Returns:
- data type or
null
-
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
-
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_2- 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
-
-