public class ValueLob extends Value
Value.ValueBlob, Value.ValueClobARRAY, BLOB, BOOLEAN, BYTE, BYTES, CLOB, DATE, DECIMAL, DOUBLE, ENUM, FLOAT, GEOMETRY, INT, JAVA_OBJECT, LONG, NULL, RESULT_SET, SHORT, STRING, STRING_FIXED, STRING_IGNORECASE, TIME, TIMESTAMP, TIMESTAMP_TZ, TYPE_COUNT, UNKNOWN, UUID| Modifier and Type | Method and Description |
|---|---|
protected int |
compareSecure(Value v,
CompareMode mode)
Compare the value with another value of the same type.
|
Value |
convertPrecision(long precision,
boolean force)
Convert the precision to the requested value.
|
Value |
convertTo(int t,
int precision,
Mode mode,
java.lang.Object column,
java.lang.String[] enumerators)
Convert a lob to another data type.
|
void |
convertToFileIfRequired(DataHandler h)
Store the lob data to a file if the size of the buffer is larger than the
maximum size for an in-place lob.
|
Value |
copy(DataHandler h,
int tabId)
Copy a large value, to be used in the given table.
|
ValueLob |
copyToTemp()
Create an independent copy of this temporary value.
|
boolean |
equals(java.lang.Object other)
Check if the two values have the same hash code.
|
byte[] |
getBytes() |
byte[] |
getBytesNoCopy() |
int |
getDisplaySize()
Get the display size in characters.
|
java.lang.String |
getFileName()
Get the current file name where the lob is saved.
|
java.io.InputStream |
getInputStream() |
java.io.InputStream |
getInputStream(long oneBasedOffset,
long length)
Get the input stream
|
int |
getMemory()
Get the memory used by this object.
|
java.lang.Object |
getObject()
Get the value as an object.
|
int |
getObjectId()
Get the current object id of this lob.
|
long |
getPrecision()
Get the precision.
|
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.String |
getSQL()
Get the SQL expression for this value.
|
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.
|
int |
getType()
Get the value type.
|
int |
hashCode() |
boolean |
isCompressed()
Check if this lob value is compressed.
|
boolean |
isLinkedToTable()
Check if this value is linked to a specific table.
|
static ValueLob |
openLinked(int type,
DataHandler handler,
int tableId,
int objectId,
long precision,
boolean compression)
Create a LOB value with the given parameters.
|
static ValueLob |
openUnlinked(int type,
DataHandler handler,
int tableId,
int objectId,
long precision,
boolean compression,
java.lang.String fileName)
Create a LOB value with the given parameters.
|
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.
|
add, checkPrecision, clearCache, compareTo, compareTypeSafe, convertScale, convertTo, convertTo, convertToEnum, copyToResult, divide, getBigDecimal, getBoolean, getByte, getDataHandler, getDate, getDouble, getFloat, getHigherOrder, getInt, getLong, getResultSet, getScale, getShort, getSignum, getTime, getTimestamp, modulus, multiply, negate, subtract, throwUnsupportedExceptionForType, toStringpublic static ValueLob openLinked(int type, DataHandler handler, int tableId, int objectId, long precision, boolean compression)
type - the data typehandler - the file handlertableId - the table object idobjectId - the object idprecision - the precision (length in elements)compression - if compression is usedpublic static ValueLob openUnlinked(int type, DataHandler handler, int tableId, int objectId, long precision, boolean compression, java.lang.String fileName)
type - the data typehandler - the file handlertableId - the table object idobjectId - the object idprecision - the precision (length in elements)compression - if compression is usedfileName - the file namepublic Value convertTo(int t, int precision, Mode mode, java.lang.Object column, java.lang.String[] enumerators)
convertTo in class Valuet - the new typeprecision - the precision of the column to convert this value to.
The special constant -1 is used to indicate that
the precision plays no role when converting the valuemode - the database modecolumn - the column (if any), used for to improve the error message if conversion failsenumerators - the ENUM datatype enumerators (if any),
for dealing with ENUM conversionspublic boolean isLinkedToTable()
ValueisLinkedToTable in class Valuepublic java.lang.String getFileName()
public void remove()
Valuepublic Value copy(DataHandler h, int tabId)
Valuepublic int getTableId()
getTableId in class Valuepublic int getObjectId()
public int getType()
Valuepublic long getPrecision()
ValuegetPrecision in class Valuepublic java.lang.String getString()
Valuepublic byte[] getBytesNoCopy()
getBytesNoCopy in class Valueprotected int compareSecure(Value v, CompareMode mode)
ValuecompareSecure in class Valuev - the other valuemode - the compare modepublic 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.String getSQL()
Valuepublic java.lang.String getTraceSQL()
ValuegetTraceSQL in class Valuepublic byte[] getSmall()
public int getDisplaySize()
ValuegetDisplaySize in class Valuepublic boolean equals(java.lang.Object other)
Valuepublic void convertToFileIfRequired(DataHandler h)
h - the data handlerpublic boolean isCompressed()
public int getMemory()
Valuepublic ValueLob copyToTemp()
copyToTemp in class Valuepublic Value convertPrecision(long precision, boolean force)
ValueconvertPrecision in class Valueprecision - the new precisionforce - true if losing numeric precision is allowed