public class SQLBlob extends SQLBinary
Because LOB types are not orderable, we'll override those methods...
_blobValue, dataValue, PAD, stream, streamValueLength
UNKNOWN_LOGICAL_LENGTH
ORDER_OP_EQUALS, ORDER_OP_GREATEROREQUALS, ORDER_OP_GREATERTHAN, ORDER_OP_LESSOREQUALS, ORDER_OP_LESSTHAN
IGNORE_PRECISION
Constructor and Description |
---|
SQLBlob() |
SQLBlob(java.sql.Blob val) |
SQLBlob(byte[] val) |
Modifier and Type | Method and Description |
---|---|
DataValueDescriptor |
cloneValue(boolean forceMaterialization)
Returns a clone of this BLOB value.
|
(package private) int |
getMaxMemoryUsage()
Return max memory usage for a SQL Blob
|
DataValueDescriptor |
getNewNull()
Get a new null value of the same type as this data value.
|
java.lang.Object |
getObject()
Return a JDBC Blob.
|
int |
getTypeFormatId()
Return my format identifier.
|
java.lang.String |
getTypeName()
Get the SQL name of the datatype
|
boolean |
hasStream()
Tells if this BLOB value is, or will be, represented by a stream.
|
private boolean |
isLengthLess()
Tell if this blob is length less.
|
void |
normalize(DataTypeDescriptor desiredType,
DataValueDescriptor source)
Normalization method - this method may be called when putting
a value into a SQLBit, for example, when inserting into a SQLBit
column.
|
void |
setInto(java.sql.PreparedStatement ps,
int position)
Adding this method to ensure that super class' setInto method doesn't get called
that leads to the violation of JDBC spec( untyped nulls ) when batching is turned on.
|
(package private) void |
setObject(java.lang.Object theValue)
Set the value from an non-null object.
|
void |
setValueFromResultSet(java.sql.ResultSet resultSet,
int colNumber,
boolean isNullable)
Set the value based on the value for the specified DataValueDescriptor
from the specified ResultSet.
|
void |
setWidth(int desiredWidth,
int desiredScale,
boolean errorOnTrunc) |
int |
typePrecedence()
Each built-in type in JSQL has a precedence.
|
charLength, checkHostVariable, cloneHolder, compare, compare, concatenate, equals, estimateMemoryUsage, getBytes, getLength, getStream, getString, getTraceString, getValue, greaterOrEquals, greaterThan, hashCode, isNull, lessOrEquals, lessThan, loadStream, notEquals, objectNull, readExternal, restoreToNull, returnStream, setFrom, setStream, setValue, setValue, setValue, substring, toString, truncate, writeExternal
coalesce, compare, compare, compareTo, dataTypeConversion, equals, flip, genericSetObject, getBoolean, getByte, getDate, getDouble, getFloat, getInt, getLong, getShort, getTime, getTimestamp, getTypeName, in, invalidFormat, isNotNull, isNullOp, outOfRange, readExternalFromArray, recycle, setBigDecimal, setInto, setObjectForCast, setToNull, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, throwLangSetMismatch, throwLangSetMismatch, typeToBigDecimal
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
coalesce, compare, compare, getBoolean, getByte, getDate, getDouble, getFloat, getInt, getLong, getShort, getTime, getTimestamp, in, isNotNull, isNullOp, readExternalFromArray, recycle, setBigDecimal, setInto, setObjectForCast, setToNull, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, typeToBigDecimal
public SQLBlob()
public SQLBlob(byte[] val)
public SQLBlob(java.sql.Blob val)
public java.lang.String getTypeName()
DataValueDescriptor
int getMaxMemoryUsage()
getMaxMemoryUsage
in class SQLBinary
public boolean hasStream()
hasStream
in interface DataValueDescriptor
hasStream
in class DataType
true
if the value is represented by a stream,
false
otherwise.DataValueDescriptor.getStream()
,
StringDataValue.getStreamWithDescriptor()
public DataValueDescriptor cloneValue(boolean forceMaterialization)
Unlike the other binary types, BLOBs can be very large. We try to clone the underlying stream when possible to avoid having to materialize the value into memory.
cloneValue
in interface DataValueDescriptor
cloneValue
in class SQLBinary
forceMaterialization
- any streams representing the data value will
be materialized if true
, the data value will be kept as a
stream if possible if false
DataValueDescriptor.cloneValue(boolean)
public DataValueDescriptor getNewNull()
DataValueDescriptor
DataValueDescriptor.getNewNull()
public java.lang.Object getObject() throws StandardException
getObject
in interface DataValueDescriptor
getObject
in class DataType
StandardException
- Thrown on errorpublic void normalize(DataTypeDescriptor desiredType, DataValueDescriptor source) throws StandardException
normalize
in interface DataValueDescriptor
normalize
in class DataType
desiredType
- The type to normalize the source column tosource
- The value to normalizeStandardException
- Thrown for null into
non-nullable column, and for
truncation errorpublic void setWidth(int desiredWidth, int desiredScale, boolean errorOnTrunc) throws StandardException
StandardException
public int getTypeFormatId()
TypedFormat.getTypeFormatId()
public void setValueFromResultSet(java.sql.ResultSet resultSet, int colNumber, boolean isNullable) throws java.sql.SQLException, StandardException
DataValueDescriptor
resultSet
- The specified ResultSet.colNumber
- The 1-based column # into the resultSet.isNullable
- Whether or not the column is nullable
(No need to call wasNull() if not)java.sql.SQLException
- Thrown on errorStandardException
DataValueDescriptor.setValueFromResultSet(java.sql.ResultSet, int, boolean)
public int typePrecedence()
DataType
typePrecedence
in interface DataValueDescriptor
typePrecedence
in class DataType
DataValueDescriptor.typePrecedence()
public void setInto(java.sql.PreparedStatement ps, int position) throws java.sql.SQLException, StandardException
SQLBinary
setInto
in interface DataValueDescriptor
setInto
in class SQLBinary
java.sql.SQLException
- thrown by the PreparedStatement objectStandardException
- thrown by me accessing my value.final void setObject(java.lang.Object theValue) throws StandardException
setObject
in class DataType
StandardException
private final boolean isLengthLess()
true
if the length of the blob is not known,
false
otherwiseApache Derby V10.13 Internals - Copyright © 2004,2016 The Apache Software Foundation. All Rights Reserved.