public class ValueLobDb extends Value
ARRAY, BLOB, BOOLEAN, BYTE, BYTES, CLOB, DATE, DECIMAL, DOUBLE, ENUM, FLOAT, GEOMETRY, INT, 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, LONG, MIN_LONG_DECIMAL, NULL, RESULT_SET, ROW, SHORT, STRING, STRING_FIXED, STRING_IGNORECASE, TIME, TIME_TZ, TIMESTAMP, TIMESTAMP_TZ, TYPE_COUNT, UNKNOWN, UUIDDUMMY| Modifier and Type | Method and Description |
|---|---|
int |
compareTypeSafe(Value v,
CompareMode mode,
CastDataProvider provider)
Compare this value against another value given that the values are of the
same data type.
|
Value |
convertPrecision(long precision)
Convert the precision to the requested value.
|
protected Value |
convertTo(int targetType,
ExtTypeInfo extTypeInfo,
CastDataProvider provider,
boolean forComparison,
java.lang.Object column)
Convert a lob to another data type.
|
Value |
copy(DataHandler database,
int tableId)
Copy a large value, to be used in the given table.
|
ValueLobDb |
copyToResult()
Create an independent copy of this value,
that will be bound to a result.
|
ValueLobDb |
copyToTemp()
Create an independent copy of this temporary value.
|
static ValueLobDb |
create(int type,
DataHandler handler,
int tableId,
long id,
byte[] hmac,
long precision)
Create a LOB value.
|
static ValueLobDb |
createSmallLob(int type,
byte[] small)
Create a LOB object that fits in memory.
|
static ValueLobDb |
createSmallLob(int type,
byte[] small,
long precision)
Create a LOB object that fits in memory.
|
static ValueLobDb |
createTempBlob(java.io.InputStream in,
long length,
DataHandler handler)
Create a temporary BLOB value from a stream.
|
static ValueLobDb |
createTempClob(java.io.Reader in,
long length,
DataHandler handler)
Create a temporary CLOB value from a stream.
|
boolean |
equals(java.lang.Object other)
Check if the two values have the same hash code.
|
byte[] |
getBytes() |
byte[] |
getBytesNoCopy() |
java.io.InputStream |
getInputStream() |
java.io.InputStream |
getInputStream(long oneBasedOffset,
long length)
Get the input stream
|
long |
getLobId() |
int |
getMemory()
Get the memory used by this object.
|
java.lang.Object |
getObject()
Get the value as an object.
|
java.io.Reader |
getReader() |
java.io.Reader |
getReader(long oneBasedOffset,
long length)
Get the reader
|
byte[] |
getSmall()
Get the data if this a small lob value.
|
java.lang.StringBuilder |
getSQL(java.lang.StringBuilder builder)
Appends the SQL expression for this value to the specified builder.
|
java.lang.String |
getString()
Get the value as a string.
|
int |
getTableId()
Get the current table id of this lob.
|
java.lang.String |
getTraceSQL()
Get a medium size SQL expression for debugging or tracing.
|
TypeInfo |
getType()
Returns the data type.
|
int |
getValueType()
Get the value type.
|
int |
hashCode() |
boolean |
isLinkedToTable()
Check if this value is linked to a specific table.
|
boolean |
isRecoveryReference() |
boolean |
isStored() |
void |
remove()
Remove the underlying resource, if any.
|
void |
set(java.sql.PreparedStatement prep,
int parameterIndex)
Set the value as a parameter in a prepared statement.
|
void |
setRecoveryReference(boolean isRecoveryReference) |
java.lang.String |
toString() |
add, checkPrecision, clearCache, compareTo, compareWithNull, containsNull, convertScale, convertTo, convertTo, convertTo, convertToInt, divide, getBigDecimal, getBoolean, getByte, getDataHandler, getDate, getDouble, getFloat, getHigherOrder, getHigherType, getInt, getLong, getResult, getShort, getSignum, getSQL, getTime, getTimestamp, getUnsupportedExceptionForOperation, modulus, multiply, negate, subtractgetCommittedValue, getCurrentValue, getOperationId, isCommittedpublic static ValueLobDb create(int type, DataHandler handler, int tableId, long id, byte[] hmac, long precision)
type - the type (Value.BLOB or CLOB)handler - the data handlertableId - the table idid - the lob idhmac - the message authentication codeprecision - the precision (number of bytes / characters)protected Value convertTo(int targetType, ExtTypeInfo extTypeInfo, CastDataProvider provider, boolean forComparison, java.lang.Object column)
convertTo in class ValuetargetType - the new typeextTypeInfo - the extended data type information, or nullprovider - the cast information providerforComparison - if true, perform cast for comparison operationcolumn - the column (if any), used for to improve the error message if conversion failspublic boolean isLinkedToTable()
ValueisLinkedToTable in class Valuepublic boolean isStored()
public void remove()
Valuepublic Value copy(DataHandler database, int tableId)
Valuepublic int getTableId()
getTableId in class Valuepublic int getValueType()
ValuegetValueType in class Valuepublic java.lang.String getString()
Valuepublic byte[] getBytesNoCopy()
getBytesNoCopy in class Valuepublic int compareTypeSafe(Value v, CompareMode mode, CastDataProvider provider)
ValuecompareTypeSafe in class Valuev - the other valuemode - the compare modeprovider - the cast information providerpublic java.lang.Object getObject()
Valuepublic java.io.Reader getReader(long oneBasedOffset,
long length)
Valuepublic java.io.InputStream getInputStream()
getInputStream in class Valuepublic java.io.InputStream getInputStream(long oneBasedOffset,
long length)
ValuegetInputStream in class ValueoneBasedOffset - the offset (1 means no offset)length - the requested lengthpublic void set(java.sql.PreparedStatement prep,
int parameterIndex)
throws java.sql.SQLException
Valuepublic java.lang.StringBuilder getSQL(java.lang.StringBuilder builder)
Valuepublic java.lang.String getTraceSQL()
ValuegetTraceSQL in class Valuepublic byte[] getSmall()
public boolean equals(java.lang.Object other)
Valuepublic int getMemory()
Valuepublic ValueLobDb copyToTemp()
copyToTemp in class Valuepublic ValueLobDb copyToResult()
copyToResult in class Valuepublic long getLobId()
public static ValueLobDb createTempClob(java.io.Reader in, long length, DataHandler handler)
in - the readerlength - the number of characters to read, or -1 for no limithandler - the data handlerpublic static ValueLobDb createTempBlob(java.io.InputStream in, long length, DataHandler handler)
in - the input streamlength - the number of characters to read, or -1 for no limithandler - the data handlerpublic Value convertPrecision(long precision)
ValueconvertPrecision in class Valueprecision - the new precisionpublic static ValueLobDb createSmallLob(int type, byte[] small)
type - the type (Value.BLOB or CLOB)small - the byte arraypublic static ValueLobDb createSmallLob(int type, byte[] small, long precision)
type - the type (Value.BLOB or CLOB)small - the byte arrayprecision - the precisionpublic void setRecoveryReference(boolean isRecoveryReference)
public boolean isRecoveryReference()