|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.apache.derby.iapi.types.DataType
org.apache.derby.iapi.types.SQLBinary
org.apache.derby.iapi.types.SQLBlob
public class SQLBlob
SQLBlob satisfies the DataValueDescriptor, interfaces (i.e., OrderableDataType). It uses the SQLLongVarbit implementation, which implements a String holder, e.g. for storing a column value; it can be specified when constructed to not allow nulls. Nullability cannot be changed after construction.
Because LOB types are not orderable, we'll override those methods...
| Field Summary |
|---|
| Fields inherited from class org.apache.derby.iapi.types.SQLBinary |
|---|
_blobValue, dataValue, PAD, stream, streamValueLength |
| Fields inherited from interface org.apache.derby.iapi.types.DataValueDescriptor |
|---|
UNKNOWN_LOGICAL_LENGTH |
| Fields inherited from interface org.apache.derby.iapi.types.Orderable |
|---|
ORDER_OP_EQUALS, ORDER_OP_GREATEROREQUALS, ORDER_OP_GREATERTHAN, ORDER_OP_LESSOREQUALS, ORDER_OP_LESSTHAN |
| Fields inherited from interface org.apache.derby.iapi.types.VariableSizeDataValue |
|---|
IGNORE_PRECISION |
| Constructor Summary | |
|---|---|
SQLBlob()
|
|
SQLBlob(java.sql.Blob val)
|
|
SQLBlob(byte[] val)
|
|
| Method Summary | |
|---|---|
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. |
| Methods inherited from class org.apache.derby.iapi.types.SQLBinary |
|---|
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 |
| Methods inherited from class org.apache.derby.iapi.types.DataType |
|---|
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 |
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface org.apache.derby.iapi.types.DataValueDescriptor |
|---|
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 |
| Constructor Detail |
|---|
public SQLBlob()
public SQLBlob(byte[] val)
public SQLBlob(java.sql.Blob val)
| Method Detail |
|---|
public java.lang.String getTypeName()
DataValueDescriptor
int getMaxMemoryUsage()
getMaxMemoryUsage in class SQLBinarypublic boolean hasStream()
hasStream in interface DataValueDescriptorhasStream in class DataTypetrue 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 DataValueDescriptorcloneValue in class SQLBinaryforceMaterialization - 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 DataValueDescriptorgetObject in class DataTypeStandardException - Thrown on error
public void normalize(DataTypeDescriptor desiredType,
DataValueDescriptor source)
throws StandardException
normalize in interface DataValueDescriptornormalize in class DataTypedesiredType - The type to normalize the source column tosource - The value to normalize
StandardException - Thrown for null into
non-nullable column, and for
truncation error
public void setWidth(int desiredWidth,
int desiredScale,
boolean errorOnTrunc)
throws StandardException
StandardExceptionpublic 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 error
StandardExceptionDataValueDescriptor.setValueFromResultSet(java.sql.ResultSet, int, boolean)public int typePrecedence()
DataType
typePrecedence in interface DataValueDescriptortypePrecedence in class DataTypeDataValueDescriptor.typePrecedence()
public void setInto(java.sql.PreparedStatement ps,
int position)
throws java.sql.SQLException,
StandardException
SQLBinary
setInto in interface DataValueDescriptorsetInto in class SQLBinaryjava.sql.SQLException - thrown by the PreparedStatement object
StandardException - thrown by me accessing my value.
final void setObject(java.lang.Object theValue)
throws StandardException
setObject in class DataTypeStandardExceptionprivate final boolean isLengthLess()
true if the length of the blob is not known,
false otherwise
|
Built on Wed 2013-06-12 15:21:56+0000, from revision ??? | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||