Class Value
- Direct Known Subclasses:
SearchRow, SpatialKey, ValueBigDecimalBase, ValueBigint, ValueBoolean, ValueBytesBase, ValueCollectionBase, ValueDate, ValueDouble, ValueEnumBase, ValueInteger, ValueInterval, ValueLob, ValueNull, ValueReal, ValueSmallint, ValueStringBase, ValueTime, ValueTimestamp, ValueTimestampTimeZone, ValueTimeTimeZone, ValueTinyint, ValueUuid
This is the base class for all value classes.
It provides conversion and comparison methods.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intThe value type for ARRAY values.(package private) static final intCast a value to the specified type for assignment.static final intThe value type for BIGINT values.static final intThe value type for BINARY values.static final intThe value type for BINARY LARGE OBJECT values.static final intThe value type for BOOLEAN values.(package private) static final intCast a value to the specified type.static final intThe value type for CHARACTER values.static final intThe value type for CHARACTER LARGE OBJECT values.(package private) static final intConvert a value to the specified type without taking scale and precision into account.static final intThe value type for DATE values.static final intThe value type for DECFLOAT values.static final intThe value type for DOUBLE PRECISION values.static final Value[]Empty array of values.static final intThe value type for ENUM values.static final intThe value type for string values with a fixed size.(package private) static final intGroup for binary string data types.(package private) static final intGroup for BINARY data type.(package private) static final intGroup for character string data types.(package private) static final intGroup for collection data types (ARRAY, ROW).(package private) static final intGroup for datetime data types.(package private) static final intGroup for day-time interval data types.(package private) static final intGroup for year-month interval data types.(package private) static final intGroup for untyped NULL data type.(package private) static final intGroup for numeric data types.(package private) static final intGroup for other data types (JAVA_OBJECT, UUID, GEOMETRY, ENUM, JSON).(package private) static final byte[]static final intThe value type for INTEGER values.static final intThe value type forINTERVAL DAYvalues.static final intThe value type forINTERVAL DAY TO HOURvalues.static final intThe value type forINTERVAL DAY TO MINUTEvalues.static final intThe value type forINTERVAL DAY TO SECONDvalues.static final intThe value type forINTERVAL HOURvalues.static final intThe value type forINTERVAL HOUR TO MINUTEvalues.static final intThe value type forINTERVAL HOUR TO SECONDvalues.static final intThe value type forINTERVAL MINUTEvalues.static final intThe value type forINTERVAL MINUTE TO SECONDvalues.static final intThe value type forINTERVAL MONTHvalues.static final intThe value type forINTERVAL SECONDvalues.static final intThe value type forINTERVAL YEARvalues.static final intThe value type forINTERVAL YEAR TO MONTHvalues.static final intThe value type for JAVA_OBJECT values.static final intThe value type for JSON values.(package private) static final BigDecimalstatic final BigDecimalThe smallest Long value, as a BigDecimal.private static final String[]static final intThe value type for NULL.static final intThe value type for NUMERIC values.static final intThe value type for REAL values.static final intThe value type for ROW values.static final intThe value type for SMALLINT values.private static SoftReference<Value[]> static final intThe value type for TIME values.static final intThe value type for TIME WITH TIME ZONE values.static final intThe value type for TIMESTAMP values.static final intThe value type for TIMESTAMP WITH TIME ZONE values.static final intThe value type for TINYINT values.static final intThe number of value types.static final intThe data type is unknown at this time.static final intThe value type for UUID values.static final intThe value type for BINARY VARYING values.static final intThe value type for CHARACTER VARYING values.static final intThe value type for VARCHAR_IGNORECASE values.Fields inherited from interface HasSQL
ADD_PLAN_INFORMATION, DEFAULT_SQL_FLAGS, NO_CASTS, QUOTE_ONLY_WHEN_REQUIRED, REPLACE_LOBS_FOR_TRACE, TRACE_SQL_FLAGS -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionAdd a value and return the result.(package private) static ValueCheck if a value is in the cache that is equal to this value.final ValuecastTo(TypeInfo targetType, CastDataProvider provider) Cast a value to the specified type.longReturns length of this value in characters.static voidClear the value cache.final intcompareTo(Value v, CastDataProvider provider, CompareMode compareMode) Compare this value against another value using the specified compare mode.private intcompareToNotNullable(Value v, CastDataProvider provider, CompareMode compareMode) abstract intcompareTypeSafe(Value v, CompareMode mode, CastDataProvider provider) Compare this value against another value given that the values are of the same data type.intcompareWithNull(Value v, boolean forEquality, CastDataProvider provider, CompareMode compareMode) Compare this value against another value using the specified compare mode.booleanReturns true if this value is NULL or contains NULL value.final ValueconvertForAssignTo(TypeInfo targetType, CastDataProvider provider, Object column) Cast a value to the specified type for assignment.final ValueconvertTo(int targetType) Convert a value to the specified type without taking scale and precision into account.final ValueconvertTo(int targetType, CastDataProvider provider) Convert a value to the specified type without taking scale and precision into account.final ValueConvert a value to the specified type without taking scale and precision into account.final ValueconvertTo(TypeInfo targetType, CastDataProvider provider) Convert a value to the specified type without taking scale and precision into account.private ValueconvertTo(TypeInfo targetType, CastDataProvider provider, int conversionMode, Object column) Convert a value to the specified type.final ValueconvertTo(TypeInfo targetType, CastDataProvider provider, Object column) Convert a value to the specified type without taking scale and precision into account.final ValueArrayconvertToAnyArray(CastDataProvider provider) Convert this value to any ARRAY data type.final ValueRowConvert this value to any ROW data type.private ValueArrayconvertToArray(TypeInfo targetType, CastDataProvider provider, int conversionMode, Object column) final ValueBigintconvertToBigint(Object column) Converts this value to a BIGINT value.private ValueBinaryconvertToBinary(TypeInfo targetType, int conversionMode, Object column) private ValueBlobconvertToBlob(TypeInfo targetType, int conversionMode, Object column) final ValueBooleanConverts this value to a BOOLEAN value.private static byteconvertToByte(long x, Object column) Converts this value to a CHAR value.private ValueCharconvertToChar(TypeInfo targetType, CastDataProvider provider, int conversionMode, Object column) private ValueClobconvertToClob(TypeInfo targetType, int conversionMode, Object column) final ValueDateconvertToDate(CastDataProvider provider) Converts this value to a DATE value.private ValueDecfloatconvertToDecfloat(TypeInfo targetType, int conversionMode) final ValueDoubleConverts this value to a DOUBLE value.final ValueEnumconvertToEnum(ExtTypeInfoEnum extTypeInfo, CastDataProvider provider) Converts this value to an ENUM value.final ValueGeometryconvertToGeometry(ExtTypeInfoGeometry extTypeInfo) Converts this value to a GEOMETRY value.static intconvertToInt(long x, Object column) Convert to integer, throwing exception if out of range.final ValueIntegerconvertToInt(Object column) Converts this value to a INT value.private ValueIntervalconvertToIntervalDayTime(int targetType, Object column) private ValueIntervalconvertToIntervalDayTime(BigDecimal bigDecimal, int targetType) private ValueIntervalconvertToIntervalDayTime(TypeInfo targetType, int conversionMode, Object column) private ValueIntervalconvertToIntervalYearMonth(int targetType, Object column) private ValueIntervalconvertToIntervalYearMonth(TypeInfo targetType, int conversionMode, Object column) final ValueJavaObjectconvertToJavaObject(TypeInfo targetType, int conversionMode, Object column) Converts this value to a JAVA_OBJECT value.private ValueJsonconvertToJson(TypeInfo targetType, int conversionMode, Object column) private static longconvertToLong(double x, Object column) private static longconvertToLong(BigDecimal x, Object column) private ValueNumericconvertToNumeric(TypeInfo targetType, CastDataProvider provider, int conversionMode, Object column) final ValueRealConverts this value to a REAL value.private ValueconvertToRow(TypeInfo targetType, CastDataProvider provider, int conversionMode, Object column) private static shortconvertToShort(long x, Object column) final ValueSmallintconvertToSmallint(Object column) Converts this value to a SMALLINT value.private ValueTimeconvertToTime(TypeInfo targetType, CastDataProvider provider, int conversionMode) private ValueTimestampconvertToTimestamp(TypeInfo targetType, CastDataProvider provider, int conversionMode) private ValueTimestampTimeZoneconvertToTimestampTimeZone(TypeInfo targetType, CastDataProvider provider, int conversionMode) private ValueTimeTimeZoneconvertToTimeTimeZone(TypeInfo targetType, CastDataProvider provider, int conversionMode) final ValueTinyintconvertToTinyint(Object column) Converts this value to a TINYINT value.final ValueUuidConverts this value to a UUID value.private ValueVarbinaryconvertToVarbinary(TypeInfo targetType, int conversionMode, Object column) private ValueconvertToVarchar(TypeInfo targetType, CastDataProvider provider, int conversionMode, Object column) private ValueconvertToVarcharIgnoreCase(TypeInfo targetType, int conversionMode, Object column) Divide by a value and return the result.abstract booleanCheck if the two values have the same hash code.booleanReturns this value as a Javabooleanvalue.bytegetByte()Returns this value as a Javabytevalue.byte[]getBytes()byte[]private static StringgetColumnName(Object column) (package private) final DbExceptiongetDataConversionError(int targetType) Creates new instance of the DbException for data conversion error.(package private) final DbExceptiongetDataConversionError(TypeInfo targetType) Creates new instance of the DbException for data conversion error.private static DbExceptiongetDataTypeCombinationException(int t1, int t2) doubleReturns this value as a Javadoublevalue.floatgetFloat()Returns this value as a Javafloatvalue.private static intgetHigherDateTime(int t1, int t2, int g2) private static intgetHigherIntervalDayTime(int t1, int t2, int g2) private static intgetHigherIntervalYearMonth(int t1, int t2, int g2) private static intgetHigherNumeric(int t1, int t2, int g2) static intgetHigherOrder(int t1, int t2) Get the higher value order type of two value types.(package private) static intgetHigherOrderKnown(int t1, int t2) private static intgetHigherOther(int t1, int t2, int g2) getInputStream(long oneBasedOffset, long length) Get the input streamintgetInt()Returns this value as a Javaintvalue.private longgetLocalTimeNanos(CastDataProvider provider) longgetLong()Returns this value as a Javalongvalue.intGet the memory used by this object.getReader(long oneBasedOffset, long length) Get the readershortgetShort()Returns this value as a Javashortvalue.intabstract StringGet the value as a string.abstract TypeInfogetType()Returns the data type.static StringgetTypeName(int valueType) Returns name of the specified data type.protected final DbExceptionCreate an exception meaning the specified operation is not supported for this data type.(package private) final DbExceptiongetValueTooLongException(TypeInfo targetType, Object column) abstract intGet the value type.abstract inthashCode()final booleanisFalse()Returns whether this valueIS FALSE.final booleanisTrue()Returns whether this valueIS TRUE.Take the modulus with a value and return the result.Multiply with a value and return the result.negate()Return -value if this value support arithmetic operations.longReturns length of this value in bytes.(package private) static voidrangeCheck(long zeroBasedOffset, long length, long dataSize) Check the range of the parameters.Subtract a value and return the result.toString()Methods inherited from class VersionedValue
getCommittedValue, getCurrentValue, getOperationId, isCommittedMethods inherited from interface HasSQL
getSQL, getSQL, getTraceSQL
-
Field Details
-
UNKNOWN
public static final int UNKNOWNThe data type is unknown at this time.- See Also:
-
NULL
public static final int NULLThe value type for NULL.- See Also:
-
CHAR
public static final int CHARThe value type for CHARACTER values.- See Also:
-
VARCHAR
public static final int VARCHARThe value type for CHARACTER VARYING values.- See Also:
-
CLOB
public static final int CLOBThe value type for CHARACTER LARGE OBJECT values.- See Also:
-
VARCHAR_IGNORECASE
public static final int VARCHAR_IGNORECASEThe value type for VARCHAR_IGNORECASE values.- See Also:
-
BINARY
public static final int BINARYThe value type for BINARY values.- See Also:
-
VARBINARY
public static final int VARBINARYThe value type for BINARY VARYING values.- See Also:
-
BLOB
public static final int BLOBThe value type for BINARY LARGE OBJECT values.- See Also:
-
BOOLEAN
public static final int BOOLEANThe value type for BOOLEAN values.- See Also:
-
TINYINT
public static final int TINYINTThe value type for TINYINT values.- See Also:
-
SMALLINT
public static final int SMALLINTThe value type for SMALLINT values.- See Also:
-
INTEGER
public static final int INTEGERThe value type for INTEGER values.- See Also:
-
BIGINT
public static final int BIGINTThe value type for BIGINT values.- See Also:
-
NUMERIC
public static final int NUMERICThe value type for NUMERIC values.- See Also:
-
REAL
public static final int REALThe value type for REAL values.- See Also:
-
DOUBLE
public static final int DOUBLEThe value type for DOUBLE PRECISION values.- See Also:
-
DECFLOAT
public static final int DECFLOATThe value type for DECFLOAT values.- See Also:
-
DATE
public static final int DATEThe value type for DATE values.- See Also:
-
TIME
public static final int TIMEThe value type for TIME values.- See Also:
-
TIME_TZ
public static final int TIME_TZThe value type for TIME WITH TIME ZONE values.- See Also:
-
TIMESTAMP
public static final int TIMESTAMPThe value type for TIMESTAMP values.- See Also:
-
TIMESTAMP_TZ
public static final int TIMESTAMP_TZThe value type for TIMESTAMP WITH TIME ZONE values.- See Also:
-
INTERVAL_YEAR
public static final int INTERVAL_YEARThe value type forINTERVAL YEARvalues.- See Also:
-
INTERVAL_MONTH
public static final int INTERVAL_MONTHThe value type forINTERVAL MONTHvalues.- See Also:
-
INTERVAL_DAY
public static final int INTERVAL_DAYThe value type forINTERVAL DAYvalues.- See Also:
-
INTERVAL_HOUR
public static final int INTERVAL_HOURThe value type forINTERVAL HOURvalues.- See Also:
-
INTERVAL_MINUTE
public static final int INTERVAL_MINUTEThe value type forINTERVAL MINUTEvalues.- See Also:
-
INTERVAL_SECOND
public static final int INTERVAL_SECONDThe value type forINTERVAL SECONDvalues.- See Also:
-
INTERVAL_YEAR_TO_MONTH
public static final int INTERVAL_YEAR_TO_MONTHThe value type forINTERVAL YEAR TO MONTHvalues.- See Also:
-
INTERVAL_DAY_TO_HOUR
public static final int INTERVAL_DAY_TO_HOURThe value type forINTERVAL DAY TO HOURvalues.- See Also:
-
INTERVAL_DAY_TO_MINUTE
public static final int INTERVAL_DAY_TO_MINUTEThe value type forINTERVAL DAY TO MINUTEvalues.- See Also:
-
INTERVAL_DAY_TO_SECOND
public static final int INTERVAL_DAY_TO_SECONDThe value type forINTERVAL DAY TO SECONDvalues.- See Also:
-
INTERVAL_HOUR_TO_MINUTE
public static final int INTERVAL_HOUR_TO_MINUTEThe value type forINTERVAL HOUR TO MINUTEvalues.- See Also:
-
INTERVAL_HOUR_TO_SECOND
public static final int INTERVAL_HOUR_TO_SECONDThe value type forINTERVAL HOUR TO SECONDvalues.- See Also:
-
INTERVAL_MINUTE_TO_SECOND
public static final int INTERVAL_MINUTE_TO_SECONDThe value type forINTERVAL MINUTE TO SECONDvalues.- See Also:
-
JAVA_OBJECT
public static final int JAVA_OBJECTThe value type for JAVA_OBJECT values.- See Also:
-
ENUM
public static final int ENUMThe value type for ENUM values.- See Also:
-
GEOMETRY
public static final int GEOMETRYThe value type for string values with a fixed size.- See Also:
-
JSON
public static final int JSONThe value type for JSON values.- See Also:
-
UUID
public static final int UUIDThe value type for UUID values.- See Also:
-
ARRAY
public static final int ARRAYThe value type for ARRAY values.- See Also:
-
ROW
public static final int ROWThe value type for ROW values.- See Also:
-
TYPE_COUNT
public static final int TYPE_COUNTThe number of value types.- See Also:
-
GROUP_NULL
static final int GROUP_NULLGroup for untyped NULL data type.- See Also:
-
GROUP_CHARACTER_STRING
static final int GROUP_CHARACTER_STRINGGroup for character string data types.- See Also:
-
GROUP_BINARY_STRING
static final int GROUP_BINARY_STRINGGroup for binary string data types.- See Also:
-
GROUP_BOOLEAN
static final int GROUP_BOOLEANGroup for BINARY data type.- See Also:
-
GROUP_NUMERIC
static final int GROUP_NUMERICGroup for numeric data types.- See Also:
-
GROUP_DATETIME
static final int GROUP_DATETIMEGroup for datetime data types.- See Also:
-
GROUP_INTERVAL_YM
static final int GROUP_INTERVAL_YMGroup for year-month interval data types.- See Also:
-
GROUP_INTERVAL_DT
static final int GROUP_INTERVAL_DTGroup for day-time interval data types.- See Also:
-
GROUP_OTHER
static final int GROUP_OTHERGroup for other data types (JAVA_OBJECT, UUID, GEOMETRY, ENUM, JSON).- See Also:
-
GROUP_COLLECTION
static final int GROUP_COLLECTIONGroup for collection data types (ARRAY, ROW).- See Also:
-
GROUPS
static final byte[] GROUPS -
NAMES
-
EMPTY_VALUES
Empty array of values. -
softCache
-
MAX_LONG_DECIMAL
-
MIN_LONG_DECIMAL
The smallest Long value, as a BigDecimal. -
CONVERT_TO
static final int CONVERT_TOConvert a value to the specified type without taking scale and precision into account.- See Also:
-
CAST_TO
static final int CAST_TOCast a value to the specified type. The scale is set if applicable. The value is truncated to a required precision.- See Also:
-
ASSIGN_TO
static final int ASSIGN_TOCast a value to the specified type for assignment. The scale is set if applicable. If precision is too large an exception is thrown.- See Also:
-
-
Constructor Details
-
Value
public Value()
-
-
Method Details
-
getTypeName
Returns name of the specified data type.- Parameters:
valueType- the value type- Returns:
- the name
-
rangeCheck
static void rangeCheck(long zeroBasedOffset, long length, long dataSize) Check the range of the parameters.- Parameters:
zeroBasedOffset- the offset (0 meaning no offset)length- the length of the targetdataSize- the length of the source
-
getType
-
getValueType
public abstract int getValueType()Get the value type.- Returns:
- the value type
-
getMemory
public int getMemory()Get the memory used by this object.- Returns:
- the memory used in bytes
-
hashCode
-
equals
Check if the two values have the same hash code. No data conversion is made; this method returns false if the other object is not of the same class. For some values, compareTo may return 0 even if equals return false. Example: ValueDecimal 0.0 and 0.00. -
getHigherOrder
public static int getHigherOrder(int t1, int t2) Get the higher value order type of two value types. If values need to be converted to match the other operands value type, the value with the lower order is converted to the value with the higher order.- Parameters:
t1- the first value typet2- the second value type- Returns:
- the higher value type of the two
-
getHigherOrderKnown
static int getHigherOrderKnown(int t1, int t2) -
getHigherNumeric
private static int getHigherNumeric(int t1, int t2, int g2) -
getHigherDateTime
private static int getHigherDateTime(int t1, int t2, int g2) -
getHigherIntervalYearMonth
private static int getHigherIntervalYearMonth(int t1, int t2, int g2) -
getHigherIntervalDayTime
private static int getHigherIntervalDayTime(int t1, int t2, int g2) -
getHigherOther
private static int getHigherOther(int t1, int t2, int g2) -
getDataTypeCombinationException
-
cache
-
clearCache
public static void clearCache()Clear the value cache. Used for testing. -
getString
-
getReader
-
getReader
Get the reader- Parameters:
oneBasedOffset- the offset (1 means no offset)length- the requested length- Returns:
- the new reader
-
getBytes
public byte[] getBytes() -
getBytesNoCopy
public byte[] getBytesNoCopy() -
getInputStream
-
getInputStream
Get the input stream- Parameters:
oneBasedOffset- the offset (1 means no offset)length- the requested length- Returns:
- the new input stream
-
getBoolean
public boolean getBoolean()Returns this value as a Javabooleanvalue.- Returns:
- value
- Throws:
DbException- if this value isNULLor cannot be casted toBOOLEAN- See Also:
-
getByte
public byte getByte()Returns this value as a Javabytevalue.- Returns:
- value
- Throws:
DbException- if this value isNULLor cannot be casted toTINYINT
-
getShort
public short getShort()Returns this value as a Javashortvalue.- Returns:
- value
- Throws:
DbException- if this value isNULLor cannot be casted toSMALLINT
-
getInt
public int getInt()Returns this value as a Javaintvalue.- Returns:
- value
- Throws:
DbException- if this value isNULLor cannot be casted toINTEGER
-
getLong
public long getLong()Returns this value as a Javalongvalue.- Returns:
- value
- Throws:
DbException- if this value isNULLor cannot be casted toBIGINT
-
getBigDecimal
-
getFloat
public float getFloat()Returns this value as a Javafloatvalue.- Returns:
- value
- Throws:
DbException- if this value isNULLor cannot be casted toREAL
-
getDouble
public double getDouble()Returns this value as a Javadoublevalue.- Returns:
- value
- Throws:
DbException- if this value isNULLor cannot be casted toDOUBLE PRECISION
-
add
-
getSignum
public int getSignum() -
negate
Return -value if this value support arithmetic operations.- Returns:
- the negative
-
subtract
-
divide
-
multiply
-
modulus
-
convertTo
Convert a value to the specified type without taking scale and precision into account.- Parameters:
targetType- the type of the returned value- Returns:
- the converted value
-
convertTo
-
convertTo
Convert a value to the specified type without taking scale and precision into account.- Parameters:
targetType- the type of the returned valueprovider- the cast information provider- Returns:
- the converted value
-
convertTo
Convert a value to the specified type without taking scale and precision into account.- Parameters:
targetType- the type of the returned valueprovider- the cast information provider- Returns:
- the converted value
-
convertTo
Convert a value to the specified type without taking scale and precision into account.- Parameters:
targetType- the type of the returned valueprovider- the cast information providercolumn- the column, used to improve the error message if conversion fails- Returns:
- the converted value
-
convertToAnyArray
Convert this value to any ARRAY data type.- Parameters:
provider- the cast information provider- Returns:
- a row value
-
convertToAnyRow
Convert this value to any ROW data type.- Returns:
- a row value
-
castTo
Cast a value to the specified type. The scale is set if applicable. The value is truncated to the required precision.- Parameters:
targetType- the type of the returned valueprovider- the cast information provider- Returns:
- the converted value
-
convertForAssignTo
public final Value convertForAssignTo(TypeInfo targetType, CastDataProvider provider, Object column) Cast a value to the specified type for assignment. The scale is set if applicable. If precision is too large an exception is thrown.- Parameters:
targetType- the type of the returned valueprovider- the cast information providercolumn- the column, used to improve the error message if conversion fails- Returns:
- the converted value
-
convertTo
private Value convertTo(TypeInfo targetType, CastDataProvider provider, int conversionMode, Object column) Convert a value to the specified type.- Parameters:
targetType- the type of the returned valueprovider- the cast information providerconversionMode- conversion modecolumn- the column (if any), used to improve the error message if conversion fails- Returns:
- the converted value
-
convertToChar
Converts this value to a CHAR value. May not be called on a NULL value.- Returns:
- a CHAR value.
-
convertToChar
private ValueChar convertToChar(TypeInfo targetType, CastDataProvider provider, int conversionMode, Object column) -
convertToVarchar
private Value convertToVarchar(TypeInfo targetType, CastDataProvider provider, int conversionMode, Object column) -
convertToClob
-
convertToVarcharIgnoreCase
-
convertToBinary
-
convertToVarbinary
-
convertToBlob
-
convertToBoolean
Converts this value to a BOOLEAN value. May not be called on a NULL value.- Returns:
- the BOOLEAN value
-
convertToTinyint
Converts this value to a TINYINT value. May not be called on a NULL value.- Parameters:
column- the column, used for to improve the error message if conversion fails- Returns:
- the TINYINT value
-
convertToSmallint
Converts this value to a SMALLINT value. May not be called on a NULL value.- Parameters:
column- the column, used for to improve the error message if conversion fails- Returns:
- the SMALLINT value
-
convertToInt
Converts this value to a INT value. May not be called on a NULL value.- Parameters:
column- the column, used for to improve the error message if conversion fails- Returns:
- the INT value
-
convertToBigint
Converts this value to a BIGINT value. May not be called on a NULL value.- Parameters:
column- the column, used for to improve the error message if conversion fails- Returns:
- the BIGINT value
-
convertToNumeric
private ValueNumeric convertToNumeric(TypeInfo targetType, CastDataProvider provider, int conversionMode, Object column) -
convertToReal
Converts this value to a REAL value. May not be called on a NULL value.- Returns:
- the REAL value
-
convertToDouble
Converts this value to a DOUBLE value. May not be called on a NULL value.- Returns:
- the DOUBLE value
-
convertToDecfloat
-
convertToDate
Converts this value to a DATE value. May not be called on a NULL value.- Parameters:
provider- the cast information provider- Returns:
- the DATE value
-
convertToTime
-
convertToTimeTimeZone
private ValueTimeTimeZone convertToTimeTimeZone(TypeInfo targetType, CastDataProvider provider, int conversionMode) -
convertToTimestamp
private ValueTimestamp convertToTimestamp(TypeInfo targetType, CastDataProvider provider, int conversionMode) -
getLocalTimeNanos
-
convertToTimestampTimeZone
private ValueTimestampTimeZone convertToTimestampTimeZone(TypeInfo targetType, CastDataProvider provider, int conversionMode) -
convertToIntervalYearMonth
private ValueInterval convertToIntervalYearMonth(TypeInfo targetType, int conversionMode, Object column) -
convertToIntervalYearMonth
-
convertToIntervalDayTime
private ValueInterval convertToIntervalDayTime(TypeInfo targetType, int conversionMode, Object column) -
convertToIntervalDayTime
-
convertToIntervalDayTime
-
convertToJavaObject
public final ValueJavaObject convertToJavaObject(TypeInfo targetType, int conversionMode, Object column) Converts this value to a JAVA_OBJECT value. May not be called on a NULL value.- Parameters:
targetType- the type of the returned valueconversionMode- conversion modecolumn- the column (if any), used to improve the error message if conversion fails- Returns:
- the JAVA_OBJECT value
-
convertToEnum
Converts this value to an ENUM value. May not be called on a NULL value.- Parameters:
extTypeInfo- the extended data type informationprovider- the cast information provider- Returns:
- the ENUM value
-
convertToGeometry
Converts this value to a GEOMETRY value. May not be called on a NULL value.- Parameters:
extTypeInfo- the extended data type information, or null- Returns:
- the GEOMETRY value
-
convertToJson
-
convertToUuid
Converts this value to a UUID value. May not be called on a NULL value.- Returns:
- the UUID value
-
convertToArray
private ValueArray convertToArray(TypeInfo targetType, CastDataProvider provider, int conversionMode, Object column) -
convertToRow
private Value convertToRow(TypeInfo targetType, CastDataProvider provider, int conversionMode, Object column) -
getDataConversionError
Creates new instance of the DbException for data conversion error.- Parameters:
targetType- Target data type.- Returns:
- instance of the DbException.
-
getDataConversionError
Creates new instance of the DbException for data conversion error.- Parameters:
targetType- target data type.- Returns:
- instance of the DbException.
-
getValueTooLongException
-
compareTypeSafe
Compare this value against another value given that the values are of the same data type.- Parameters:
v- the other valuemode- the compare modeprovider- the cast information provider- Returns:
- 0 if both values are equal, -1 if the other value is smaller, and 1 otherwise
-
compareTo
Compare this value against another value using the specified compare mode.- Parameters:
v- the other valueprovider- the cast information providercompareMode- the compare mode- Returns:
- 0 if both values are equal, -1 if this value is smaller, and 1 otherwise
-
compareToNotNullable
-
compareWithNull
public int compareWithNull(Value v, boolean forEquality, CastDataProvider provider, CompareMode compareMode) Compare this value against another value using the specified compare mode.- Parameters:
v- the other valueforEquality- perform only check for equalityprovider- the cast information providercompareMode- the compare mode- Returns:
- 0 if both values are equal, -1 if this value is smaller, 1
if other value is larger,
Integer.MIN_VALUEif order is not defined due to NULL comparison
-
containsNull
public boolean containsNull()Returns true if this value is NULL or contains NULL value.- Returns:
- true if this value is NULL or contains NULL value
-
convertToByte
-
convertToShort
-
convertToInt
Convert to integer, throwing exception if out of range.- Parameters:
x- integer value.column- Column info.- Returns:
- x
-
convertToLong
-
convertToLong
-
getColumnName
-
toString
-
getUnsupportedExceptionForOperation
Create an exception meaning the specified operation is not supported for this data type.- Parameters:
op- the operation- Returns:
- the exception
-
charLength
public long charLength()Returns length of this value in characters.- Returns:
- length of this value in characters
- Throws:
NullPointerException- if this value isNULL
-
octetLength
public long octetLength()Returns length of this value in bytes.- Returns:
- length of this value in bytes
- Throws:
NullPointerException- if this value isNULL
-
isTrue
public final boolean isTrue()Returns whether this valueIS TRUE.- Returns:
trueif it is. ForBOOLEANvalues returnstrueforTRUEandfalseforFALSEandUNKNOWN(NULL).- See Also:
-
isFalse
public final boolean isFalse()Returns whether this valueIS FALSE.- Returns:
trueif it is. ForBOOLEANvalues returnstrueforFALSEandfalseforTRUEandUNKNOWN(NULL).- See Also:
-