org.apache.derby.iapi.types
Class SQLLongVarbit
java.lang.Object
org.apache.derby.iapi.types.DataType
org.apache.derby.iapi.types.SQLBinary
org.apache.derby.iapi.types.SQLBit
org.apache.derby.iapi.types.SQLVarbit
org.apache.derby.iapi.types.SQLLongVarbit
- All Implemented Interfaces:
- BitDataValue, CloneableObject, ConcatableDataValue, DataValueDescriptor, java.io.Externalizable, Formatable, Orderable, java.io.Serializable, Storable, StreamStorable, TypedFormat, VariableSizeDataValue
- public class SQLLongVarbit
- extends SQLVarbit
SQLLongVarbit satisfies the DataValueDescriptor
interfaces (i.e., OrderableDataType). It 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 OrderableDataType is a subclass of DataType,
SQLLongVarbit can play a role in either a DataType/Value
or a OrderableDataType/KeyRow, interchangeably.
It is an extension of SQLVarbit and is virtually indistinguishable
other than normalization.
- See Also:
- Serialized Form
Method Summary |
DataValueDescriptor |
getNewNull()
Get a new null value of the same type as this data value. |
int |
getTypeFormatId()
Return my format identifier. |
java.lang.String |
getTypeName()
Get the SQL name of the datatype |
void |
normalize(DataTypeDescriptor desiredType,
DataValueDescriptor source)
Normalization method - this method may be called when putting
a value into a SQLVarbit, for example, when inserting into a SQLVarbit
column. |
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. |
int |
typePrecedence()
Each built-in type in JSQL has a precedence. |
Methods inherited from class org.apache.derby.iapi.types.SQLBinary |
charLength, checkHostVariable, cloneObject, compare, compare, concatenate, equals, estimateMemoryUsage, getBytes, getClone, getLength, getStream, getString, getValue, greaterOrEquals, greaterThan, hashCode, isNull, lessOrEquals, lessThan, loadStream, notEquals, objectNull, readExternal, readExternalFromArray, restoreToNull, returnStream, setFrom, setStream, setValue, setValue, substring, toString, writeExternal |
Methods inherited from class org.apache.derby.iapi.types.DataType |
coalesce, dataTypeConversion, equals, flip, genericSetObject, getBigDecimal, getBoolean, getByte, getDate, getDouble, getFloat, getInt, getLong, getNationalString, getShort, getTime, getTimestamp, in, invalidFormat, isNotNull, isNullOp, outOfRange, setInto, setInto, setObjectForCast, setToNull, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, throwLangSetMismatch, throwLangSetMismatch |
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, getBigDecimal, getBoolean, getByte, getDate, getDouble, getFloat, getInt, getLong, getShort, getTime, getTimestamp, in, isNotNull, isNullOp, setInto, setInto, setObjectForCast, setToNull, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue |
SQLLongVarbit
public SQLLongVarbit()
SQLLongVarbit
public SQLLongVarbit(byte[] val)
getTypeName
public java.lang.String getTypeName()
- Description copied from interface:
DataValueDescriptor
- Get the SQL name of the datatype
- Specified by:
getTypeName
in interface DataValueDescriptor
- Overrides:
getTypeName
in class SQLVarbit
getNewNull
public DataValueDescriptor getNewNull()
- Description copied from interface:
DataValueDescriptor
- Get a new null value of the same type as this data value.
- Specified by:
getNewNull
in interface DataValueDescriptor
- Overrides:
getNewNull
in class SQLVarbit
- See Also:
DataValueDescriptor.getNewNull()
setValueFromResultSet
public void setValueFromResultSet(java.sql.ResultSet resultSet,
int colNumber,
boolean isNullable)
throws java.sql.SQLException
- Description copied from interface:
DataValueDescriptor
- Set the value based on the value for the specified DataValueDescriptor
from the specified ResultSet.
- Specified by:
setValueFromResultSet
in interface DataValueDescriptor
- Overrides:
setValueFromResultSet
in class SQLBit
- Throws:
java.sql.SQLException
- Thrown on error- See Also:
DataValueDescriptor.setValueFromResultSet(java.sql.ResultSet, int, boolean)
getTypeFormatId
public int getTypeFormatId()
- Return my format identifier.
- Specified by:
getTypeFormatId
in interface TypedFormat
- Overrides:
getTypeFormatId
in class SQLVarbit
- See Also:
TypedFormat.getTypeFormatId()
normalize
public void normalize(DataTypeDescriptor desiredType,
DataValueDescriptor source)
throws StandardException
- Normalization method - this method may be called when putting
a value into a SQLVarbit, for example, when inserting into a SQLVarbit
column. See NormalizeResultSet in execution.
This overrides SQLBit -- the difference is that we don't
expand SQLVarbits to fit the target.
- Specified by:
normalize
in interface DataValueDescriptor
- Overrides:
normalize
in class SQLVarbit
- Parameters:
desiredType
- The type to normalize the source column tosource
- The value to normalize
- Throws:
StandardException
- Thrown for null into
non-nullable column, and for
truncation error
typePrecedence
public int typePrecedence()
- Description copied from interface:
DataValueDescriptor
- Each built-in type in JSQL has a precedence. This precedence determines
how to do type promotion when using binary operators. For example, float
has a higher precedence than int, so when adding an int to a float, the
result type is float.
The precedence for some types is arbitrary. For example, it doesn't
matter what the precedence of the boolean type is, since it can't be
mixed with other types. But the precedence for the number types is
critical. The SQL standard requires that exact numeric types be
promoted to approximate numeric when one operator uses both. Also,
the precedence is arranged so that one will not lose precision when
promoting a type.
- Specified by:
typePrecedence
in interface DataValueDescriptor
- Overrides:
typePrecedence
in class SQLVarbit
- See Also:
DataValueDescriptor.typePrecedence()
Apache Derby V10.0 Engine Documentation - Copyright © 1997,2004 The Apache Software Foundation or its licensors, as applicable.