Package org.h2.value
Class ValueArray
- java.lang.Object
-
- org.h2.value.VersionedValue<Value>
-
- org.h2.value.Value
-
- org.h2.value.ValueCollectionBase
-
- org.h2.value.ValueArray
-
public final class ValueArray extends ValueCollectionBase
Implementation of the ARRAY data type.
-
-
Field Summary
Fields Modifier and Type Field Description private TypeInfo
componentType
static ValueArray
EMPTY
Empty array.private TypeInfo
type
-
Fields inherited from class org.h2.value.ValueCollectionBase
values
-
Fields inherited from class org.h2.value.Value
ARRAY, ASSIGN_TO, BIGINT, BINARY, BLOB, BOOLEAN, CAST_TO, CHAR, CLOB, CONVERT_TO, DATE, DECFLOAT, DOUBLE, EMPTY_VALUES, ENUM, GEOMETRY, GROUP_BINARY_STRING, GROUP_BOOLEAN, GROUP_CHARACTER_STRING, GROUP_COLLECTION, GROUP_DATETIME, GROUP_INTERVAL_DT, GROUP_INTERVAL_YM, GROUP_NULL, GROUP_NUMERIC, GROUP_OTHER, GROUPS, INTEGER, INTERVAL_DAY, INTERVAL_DAY_TO_HOUR, INTERVAL_DAY_TO_MINUTE, INTERVAL_DAY_TO_SECOND, INTERVAL_HOUR, INTERVAL_HOUR_TO_MINUTE, INTERVAL_HOUR_TO_SECOND, INTERVAL_MINUTE, INTERVAL_MINUTE_TO_SECOND, INTERVAL_MONTH, INTERVAL_SECOND, INTERVAL_YEAR, INTERVAL_YEAR_TO_MONTH, JAVA_OBJECT, JSON, MAX_LONG_DECIMAL, MIN_LONG_DECIMAL, NULL, NUMERIC, REAL, ROW, SMALLINT, TIME, TIME_TZ, TIMESTAMP, TIMESTAMP_TZ, TINYINT, TYPE_COUNT, UNKNOWN, UUID, VARBINARY, VARCHAR, VARCHAR_IGNORECASE
-
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 Modifier Constructor Description private
ValueArray(TypeInfo componentType, Value[] list, CastDataProvider provider)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description int
compareTypeSafe(Value o, CompareMode mode, CastDataProvider provider)
Compare this value against another value given that the values are of the same data type.boolean
equals(java.lang.Object other)
Check if the two values have the same hash code.static ValueArray
get(TypeInfo componentType, Value[] list, CastDataProvider provider)
Get or create a array value for the given value array.static ValueArray
get(Value[] list, CastDataProvider provider)
Get or create a array value for the given value array.TypeInfo
getComponentType()
java.lang.StringBuilder
getSQL(java.lang.StringBuilder builder, int sqlFlags)
Appends the SQL statement of this object to the specified builder.java.lang.String
getString()
Get the value as a string.TypeInfo
getType()
Returns the data type.int
getValueType()
Get the value type.-
Methods inherited from class org.h2.value.ValueCollectionBase
compareWithNull, containsNull, getList, getMemory, hashCode
-
Methods inherited from class org.h2.value.Value
add, cache, castTo, charLength, clearCache, compareTo, convertForAssignTo, convertTo, convertTo, convertTo, convertTo, convertTo, convertToAnyArray, convertToAnyRow, convertToBigint, convertToBoolean, convertToChar, convertToDate, convertToDouble, convertToEnum, convertToGeometry, convertToInt, convertToInt, convertToJavaObject, convertToReal, convertToSmallint, convertToTinyint, convertToUuid, divide, getBigDecimal, getBoolean, getByte, getBytes, getBytesNoCopy, getDataConversionError, getDataConversionError, getDouble, getFloat, getHigherOrder, getHigherOrderKnown, getInputStream, getInputStream, getInt, getLong, getReader, getReader, getShort, getSignum, getTypeName, getUnsupportedExceptionForOperation, getValueTooLongException, isFalse, isTrue, modulus, multiply, negate, octetLength, rangeCheck, subtract, toString
-
Methods inherited from class org.h2.value.VersionedValue
getCommittedValue, getCurrentValue, getOperationId, isCommitted
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.h2.util.HasSQL
getSQL, getTraceSQL
-
-
-
-
Field Detail
-
EMPTY
public static final ValueArray EMPTY
Empty array.
-
type
private TypeInfo type
-
componentType
private TypeInfo componentType
-
-
Constructor Detail
-
ValueArray
private ValueArray(TypeInfo componentType, Value[] list, CastDataProvider provider)
-
-
Method Detail
-
get
public static ValueArray get(Value[] list, CastDataProvider provider)
Get or create a array value for the given value array. Do not clone the data.- Parameters:
list
- the value arrayprovider
- the cast information provider- Returns:
- the value
-
get
public static ValueArray get(TypeInfo componentType, Value[] list, CastDataProvider provider)
Get or create a array value for the given value array. Do not clone the data.- Parameters:
componentType
- the type of elements, ornull
list
- the value arrayprovider
- the cast information provider- Returns:
- the value
-
getValueType
public int getValueType()
Description copied from class:Value
Get the value type.- Specified by:
getValueType
in classValue
- Returns:
- the value type
-
getComponentType
public TypeInfo getComponentType()
-
getString
public java.lang.String getString()
Description copied from class:Value
Get the value as a string.
-
compareTypeSafe
public int compareTypeSafe(Value o, CompareMode mode, CastDataProvider provider)
Description copied from class:Value
Compare this value against another value given that the values are of the same data type.- Specified by:
compareTypeSafe
in classValue
- Parameters:
o
- 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
-
getSQL
public java.lang.StringBuilder getSQL(java.lang.StringBuilder builder, int sqlFlags)
Description copied from interface:HasSQL
Appends the SQL statement of this object to the specified builder.- Parameters:
builder
- string buildersqlFlags
- formatting flags- Returns:
- the specified string builder
-
equals
public boolean equals(java.lang.Object other)
Description copied from class:Value
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.
-
-