org.apache.derby.iapi.types
Class SQLLongVarbit

java.lang.Object
  extended byorg.apache.derby.iapi.types.DataType
      extended byorg.apache.derby.iapi.types.SQLBinary
          extended byorg.apache.derby.iapi.types.SQLBit
              extended byorg.apache.derby.iapi.types.SQLVarbit
                  extended byorg.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

Field Summary
 
Fields inherited from class org.apache.derby.iapi.types.SQLBinary
dataValue, PAD, stream, streamLength
 
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
SQLLongVarbit()
           
SQLLongVarbit(byte[] val)
           
 
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.SQLVarbit
setWidth
 
Methods inherited from class org.apache.derby.iapi.types.SQLBit
getObject, setValue
 
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, setInto, setStream, setValue, setValue, substring, toString, writeExternal
 
Methods inherited from class org.apache.derby.iapi.types.DataType
coalesce, dataTypeConversion, equals, flip, genericSetObject, getBoolean, getByte, getDate, getDouble, getFloat, getInt, getLong, getNationalString, getShort, getTime, getTimestamp, in, invalidFormat, isNotNull, isNullOp, outOfRange, setBigDecimal, setInto, setObjectForCast, setToNull, 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, getBoolean, getByte, getDate, getDouble, getFloat, getInt, getLong, getShort, getTime, getTimestamp, in, isNotNull, isNullOp, setBigDecimal, setInto, setObjectForCast, setToNull, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, typeToBigDecimal
 

Constructor Detail

SQLLongVarbit

public SQLLongVarbit()

SQLLongVarbit

public SQLLongVarbit(byte[] val)
Method Detail

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 to
source - 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()

Built on Mon 2007-06-04 09:58:47+0400, from revision ???

Apache Derby V10.1 Engine Documentation - Copyright © 1997,2005 The Apache Software Foundation or its licensors, as applicable.