Package org.h2.value
Class ValueClob
- java.lang.Object
-
- org.h2.value.VersionedValue<Value>
-
- org.h2.value.Value
-
- org.h2.value.ValueLob
-
- org.h2.value.ValueClob
-
-
Field Summary
-
Fields inherited from class org.h2.value.ValueLob
BLOCK_COMPARISON_SIZE, charLength, lobData, octetLength
-
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
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description long
charLength()
Returns length of this value in characters.private static int
compare(ValueClob v1, ValueClob v2)
Compares two CLOB values directly.int
compareTypeSafe(Value v, CompareMode mode, CastDataProvider provider)
Compare this value against another value given that the values are of the same data type.(package private) ValueClob
convertPrecision(long precision)
Convert the precision to the requested value.ValueLob
copy(DataHandler database, int tableId)
Copy a large value, to be used in the given table.static ValueClob
createSmall(byte[] data)
Creates a small CLOB value that can be stored in the row directly.static ValueClob
createSmall(byte[] data, long charLength)
Creates a small CLOB value that can be stored in the row directly.static ValueClob
createSmall(java.lang.String string)
Creates a small CLOB value that can be stored in the row directly.static ValueClob
createTempClob(java.io.Reader in, long length, DataHandler handler)
Create a temporary CLOB value from a stream.private static ValueClob
createTemporary(DataHandler handler, java.io.Reader in, long remaining)
Create a CLOB in a temporary file.(package private) byte[]
getBytesInternal()
java.io.InputStream
getInputStream()
java.io.InputStream
getInputStream(long oneBasedOffset, long length)
Get the input streamjava.io.Reader
getReader(long oneBasedOffset, long length)
Get the readerjava.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.int
getValueType()
Get the value type.long
octetLength()
Returns length of this value in bytes.-
Methods inherited from class org.h2.value.ValueLob
copyToResult, createTempLobFileName, equals, getBinaryTooLong, getBufferSize, getBytes, getBytesNoCopy, getLobData, getMemory, getReader, getStringTooLong, getType, hashCode, isLinkedToTable, rangeInputStream, rangeReader, readBytes, readString, remove
-
Methods inherited from class org.h2.value.Value
add, cache, castTo, clearCache, compareTo, compareWithNull, containsNull, 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, getDataConversionError, getDataConversionError, getDouble, getFloat, getHigherOrder, getHigherOrderKnown, getInt, getLong, getShort, getSignum, getTypeName, getUnsupportedExceptionForOperation, getValueTooLongException, isFalse, isTrue, modulus, multiply, negate, 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
-
-
-
-
Constructor Detail
-
ValueClob
public ValueClob(LobData lobData, long octetLength, long charLength)
-
-
Method Detail
-
createSmall
public static ValueClob createSmall(byte[] data)
Creates a small CLOB value that can be stored in the row directly.- Parameters:
data
- the data in UTF-8 encoding- Returns:
- the CLOB
-
createSmall
public static ValueClob createSmall(byte[] data, long charLength)
Creates a small CLOB value that can be stored in the row directly.- Parameters:
data
- the data in UTF-8 encodingcharLength
- the count of characters, must be exactly the same as count of characters in the data- Returns:
- the CLOB
-
createSmall
public static ValueClob createSmall(java.lang.String string)
Creates a small CLOB value that can be stored in the row directly.- Parameters:
string
- the string with value- Returns:
- the CLOB
-
createTempClob
public static ValueClob createTempClob(java.io.Reader in, long length, DataHandler handler)
Create a temporary CLOB value from a stream.- Parameters:
in
- the readerlength
- the number of characters to read, or -1 for no limithandler
- the data handler- Returns:
- the lob value
-
createTemporary
private static ValueClob createTemporary(DataHandler handler, java.io.Reader in, long remaining) throws java.io.IOException
Create a CLOB in a temporary file.- Throws:
java.io.IOException
-
getValueType
public int getValueType()
Description copied from class:Value
Get the value type.- Specified by:
getValueType
in classValue
- Returns:
- the value type
-
getString
public java.lang.String getString()
Description copied from class:Value
Get the value as a string.
-
getBytesInternal
byte[] getBytesInternal()
- Specified by:
getBytesInternal
in classValueLob
-
getInputStream
public java.io.InputStream getInputStream()
- Overrides:
getInputStream
in classValue
-
getInputStream
public java.io.InputStream getInputStream(long oneBasedOffset, long length)
Description copied from class:Value
Get the input stream- Overrides:
getInputStream
in classValue
- Parameters:
oneBasedOffset
- the offset (1 means no offset)length
- the requested length- Returns:
- the new input stream
-
getReader
public java.io.Reader getReader(long oneBasedOffset, long length)
Description copied from class:Value
Get the reader
-
compareTypeSafe
public int compareTypeSafe(Value v, 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:
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
-
compare
private static int compare(ValueClob v1, ValueClob v2)
Compares two CLOB values directly.- Parameters:
v1
- first CLOB valuev2
- second CLOB value- Returns:
- result of comparison
-
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
-
convertPrecision
ValueClob convertPrecision(long precision)
Convert the precision to the requested value.- Parameters:
precision
- the new precision- Returns:
- the truncated or this value
-
copy
public ValueLob copy(DataHandler database, int tableId)
Description copied from class:ValueLob
Copy a large value, to be used in the given table. For values that are kept fully in memory this method has no effect.
-
charLength
public long charLength()
Description copied from class:Value
Returns length of this value in characters.- Overrides:
charLength
in classValue
- Returns:
- length of this value in characters
-
octetLength
public long octetLength()
Description copied from class:Value
Returns length of this value in bytes.- Overrides:
octetLength
in classValue
- Returns:
- length of this value in bytes
-
-