org.apache.derby.iapi.types
Class BigIntegerDecimal

java.lang.Object
  extended byorg.apache.derby.iapi.types.DataType
      extended byorg.apache.derby.iapi.types.NumberDataType
          extended byorg.apache.derby.iapi.types.BinaryDecimal
              extended byorg.apache.derby.iapi.types.BigIntegerDecimal
All Implemented Interfaces:
CloneableObject, DataValueDescriptor, java.io.Externalizable, Formatable, NumberDataValue, Orderable, java.io.Serializable, Storable, TypedFormat, VariableSizeDataValue

public final class BigIntegerDecimal
extends BinaryDecimal

DECIMAL support using the immutable java.math.BigInteger to perform arithmetic and conversions. Extends BinaryDecimal to use the base support of that class. J2ME/CDC/Foundation includes BigInteger. A BigInteger is used in calculations etc. to represent the integral unscaled value. It is simply created from new BigInteger(data2c). No additional instance fields are used by this class, a possible enhancement would be to keep the BigInteger around but would require calls from the parent class to reset state etc.

See Also:
Serialized Form

Field Summary
protected  byte[] data2c
          The unscaled value as a binary two's complement array.
private static java.math.BigInteger MAXLONG_PLUS_ONE
           
private static java.math.BigInteger MINLONG_MINUS_ONE
           
protected  int sqlScale
          The SQL scale, zero or positive, of the value
private static java.math.BigInteger TEN
           
 
Fields inherited from class org.apache.derby.iapi.types.NumberDataType
ZERO_DECIMAL
 
Fields inherited from interface org.apache.derby.iapi.types.VariableSizeDataValue
IGNORE_PRECISION
 
Fields inherited from interface org.apache.derby.iapi.types.NumberDataValue
MAX_DECIMAL_PRECISION_SCALE, MIN_DECIMAL_DIVIDE_SCALE
 
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
 
Constructor Summary
BigIntegerDecimal()
           
 
Method Summary
 NumberDataValue divide(NumberDataValue dividend, NumberDataValue divisor, NumberDataValue result)
          This method implements the / operator for TINYINT, SMALLINT and INTEGER.
 NumberDataValue divide(NumberDataValue dividend, NumberDataValue divisor, NumberDataValue result, int scale)
          This method implements the / operator for BigDecimal/BigDecimal
 NumberDataValue divideNN(NumberDataValue left, NumberDataValue right, NumberDataValue result, int scale)
          Divide two non-null NumberDataValues using DECIMAL arithmetic.
 int estimateMemoryUsage()
          Estimate the memory usage in bytes of the data value and the overhead of the class.
private  BigIntegerDecimal getBID(DataValueDescriptor value)
          Obtain a BinaryDecimal that represents the passed in value.
 byte getByte()
          Return a byte from this value.
 DataValueDescriptor getClone()
          Clone this DataValueDescriptor.
 int getDecimalValuePrecision()
          Return the SQL precision of this value.
 int getDecimalValueScale()
          Return the SQL scale of this value, number of digits after the decimal point, or zero for a whole number.
 double getDouble()
          Gets the value in the data value descriptor as a double.
 float getFloat()
          Gets the value in the data value descriptor as a float.
 int getInt()
          Return a int from this value.
 int getLength()
          Gets the length of the data value.
 long getLong()
          Gets the value in the data value descriptor as a long.
 DataValueDescriptor getNewNull()
          Get a new null value of the same type as this data value.
 short getShort()
          Return a short from this value.
 java.lang.String getString()
          Gets the value in the data value descriptor as a String.
 int getTypeFormatId()
          Return my format identifier.
 java.lang.String getTypeName()
          Get the SQL name of the datatype
 int hashCode()
           
protected  boolean isNegative()
          The isNegative abstract method.
 boolean isNull()
          see if the decimal value is null.
 NumberDataValue minus(NumberDataValue result)
          Negate the number.
 NumberDataValue minus(NumberDataValue left, NumberDataValue right, NumberDataValue result)
          This method implements the - operator for TINYINT, SMALLINT and INTEGER.
 NumberDataValue minusNN(NumberDataValue left, NumberDataValue right, NumberDataValue result)
          Implement subtraction using addition and negation of the right value.
 void normalize(DataTypeDescriptor desiredType, DataValueDescriptor source)
          Normalize the source value to this type described by this class and the passed in DataTypeDescriptor.
 NumberDataValue plus(NumberDataValue addend1, NumberDataValue addend2, NumberDataValue result)
          This method implements the + operator for DECIMAL.
 NumberDataValue plusNN(NumberDataValue left, NumberDataValue right, NumberDataValue result)
          Add two non-null NumberDataValues using DECIMAL arithmetic.
 void readExternal(java.io.ObjectInput in)
          Note the use of data2c: we reuse the array if the incoming array is the same length or smaller than the array length.
 void readExternalFromArray(ArrayInputStream in)
          Read the DataValueDescriptor from the stream.
private static java.math.BigInteger rescale(java.math.BigInteger bi, int deltaScale)
          Rescale a BigInteger, a positive delta means the scale is increased, zero no change and negative decrease of scale.
 void restoreToNull()
          Restore this object to its (SQL)null value.
protected  void setFrom(DataValueDescriptor dvd)
          Set this DECIMAL value from another DataValueDescriptor
 void setValue(double theValue)
          Convert from a double, normalize and then convert as a String.
 void setValue(float theValue)
          Convert from a float, normalize and then convert as a String.
 void setValue(int theValue)
          Set the value from an int, just copy 'byte-by-byte' from the int to a four byte array.
 void setValue(long theValue)
          Set the value from a long.
 void setValue(java.lang.Number theValue)
          Called when setting a DECIMAL value internally or from through a procedure or function.
 void setValue(java.lang.String theValue)
          Set the value from a String, the format is nnnn Scale always set to zero.
 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.
 DataValueDescriptor setWidth(int desiredPrecision, int desiredScale, boolean errorOnTrunc)
           
 NumberDataValue times(NumberDataValue left, NumberDataValue right, NumberDataValue result)
          The SQL * operator.
 NumberDataValue timesNN(NumberDataValue left, NumberDataValue right, NumberDataValue result)
          Multiple two non-null NumberDataValues using DECIMAL arithmetic.
 java.lang.String toString()
           
protected  int typeCompare(DataValueDescriptor arg)
          Compare two non-null NumberDataValues using DECIMAL arithmetic.
 int typePrecedence()
          Each built-in type in JSQL has a precedence.
 int typeToBigDecimal()
          DECIMAL implementation.
 void writeExternal(java.io.ObjectOutput out)
          Distill the Decimal to a byte array and Write out: scale (unsigned byte) length of byte array the byte array
 
Methods inherited from class org.apache.derby.iapi.types.NumberDataType
absolute, compare, compare, mod, normalizeDOUBLE, normalizeREAL, normalizeREAL, objectNull, setBigDecimal, setValue, setValue, sqrt
 
Methods inherited from class org.apache.derby.iapi.types.DataType
checkHostVariable, cloneObject, coalesce, dataTypeConversion, equals, equals, flip, genericSetObject, getBoolean, getBytes, getDate, getNationalString, getObject, getStream, getTime, getTimestamp, greaterOrEquals, greaterThan, in, invalidFormat, isNotNull, isNullOp, lessOrEquals, lessThan, notEquals, outOfRange, setInto, setInto, setObjectForCast, setToNull, 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
checkHostVariable, coalesce, equals, getBoolean, getBytes, getDate, getObject, getStream, getTime, getTimestamp, greaterOrEquals, greaterThan, in, isNotNull, isNullOp, lessOrEquals, lessThan, notEquals, setInto, setInto, setObjectForCast, setToNull, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue
 

Field Detail

TEN

private static final java.math.BigInteger TEN

MAXLONG_PLUS_ONE

private static final java.math.BigInteger MAXLONG_PLUS_ONE

MINLONG_MINUS_ONE

private static final java.math.BigInteger MINLONG_MINUS_ONE

data2c

protected byte[] data2c
The unscaled value as a binary two's complement array.


sqlScale

protected int sqlScale
The SQL scale, zero or positive, of the value

Constructor Detail

BigIntegerDecimal

public BigIntegerDecimal()
Method Detail

getNewNull

public DataValueDescriptor getNewNull()
Description copied from interface: DataValueDescriptor
Get a new null value of the same type as this data value.


getLong

public long getLong()
             throws StandardException
Description copied from interface: DataValueDescriptor
Gets the value in the data value descriptor as a long. Throws an exception if the data value is not a long.

Specified by:
getLong in interface DataValueDescriptor
Overrides:
getLong in class DataType
Returns:
The data value as a long.
Throws:
StandardException - Thrown on error

getFloat

public float getFloat()
               throws StandardException
Description copied from interface: DataValueDescriptor
Gets the value in the data value descriptor as a float. Throws an exception if the data value is not a float.

Specified by:
getFloat in interface DataValueDescriptor
Overrides:
getFloat in class DataType
Returns:
The data value as a float.
Throws:
StandardException - Thrown on error

getDouble

public double getDouble()
                 throws StandardException
Description copied from interface: DataValueDescriptor
Gets the value in the data value descriptor as a double. Throws an exception if the data value is not a double.

Specified by:
getDouble in interface DataValueDescriptor
Overrides:
getDouble in class DataType
Returns:
The data value as a double.
Throws:
StandardException - Thrown on error

setValue

public void setValue(java.lang.String theValue)
              throws StandardException
Set the value from a String, the format is nnnn Scale always set to zero.

Specified by:
setValue in interface DataValueDescriptor
Overrides:
setValue in class DataType
Parameters:
theValue - The BigDecimal value to set this DataValueDescriptor to
Returns:
This DataValueDescriptor
Throws:
StandardException

getString

public java.lang.String getString()
Description copied from interface: DataValueDescriptor
Gets the value in the data value descriptor as a String. Throws an exception if the data value is not a string.

Returns:
The data value as a String.

getDecimalValuePrecision

public int getDecimalValuePrecision()
Return the SQL precision of this value.

Specified by:
getDecimalValuePrecision in interface NumberDataValue
Overrides:
getDecimalValuePrecision in class NumberDataType

typeCompare

protected int typeCompare(DataValueDescriptor arg)
                   throws StandardException
Compare two non-null NumberDataValues using DECIMAL arithmetic.

Specified by:
typeCompare in class NumberDataType
Throws:
StandardException - Thrown on error

plusNN

public NumberDataValue plusNN(NumberDataValue left,
                              NumberDataValue right,
                              NumberDataValue result)
                       throws StandardException
Add two non-null NumberDataValues using DECIMAL arithmetic. Uses add() to perform the calculation.

Specified by:
plusNN in class BinaryDecimal
Throws:
StandardException

minus

public NumberDataValue minus(NumberDataValue result)
                      throws StandardException
Negate the number.

Parameters:
result - The result of the previous call to this method, null if not called yet.
Returns:
- operand
Throws:
StandardException - Thrown on error, if result is non-null then its value will be unchanged.
See Also:
NumberDataValue.minus(org.apache.derby.iapi.types.NumberDataValue)

timesNN

public NumberDataValue timesNN(NumberDataValue left,
                               NumberDataValue right,
                               NumberDataValue result)
                        throws StandardException
Multiple two non-null NumberDataValues using DECIMAL arithmetic. Uses BigInteger.multipy() to perform the calculation. Simply multiply the unscaled values and add the scales, proof: left * right = (left_unscaled * 10^-left_scale) * (right_unscaled * 10^-right_scale) = (left_unscaled * 10^-left_scale) * (right_unscaled * 10^-right_scale) = (left_unscaled * right_unscaled) * 10^-(left_scale + right_scale)

Specified by:
timesNN in class BinaryDecimal
Throws:
StandardException

divideNN

public NumberDataValue divideNN(NumberDataValue left,
                                NumberDataValue right,
                                NumberDataValue result,
                                int scale)
                         throws StandardException
Divide two non-null NumberDataValues using DECIMAL arithmetic. Uses divide() to perform the calculation. Simply multiply the unscaled values and subtract the scales, proof: left / right = (left_unscaled * 10^-left_scale) / (right_unscaled * 10^-right_scale) = (left_unscaled / right_unscaled) * (10^-left_scale / 10^-right_scale) = (left_unscaled / right_unscaled) * (10^-(left_scale-right_scale))

Specified by:
divideNN in class BinaryDecimal
Throws:
StandardException

normalize

public void normalize(DataTypeDescriptor desiredType,
                      DataValueDescriptor source)
               throws StandardException
Description copied from interface: DataValueDescriptor
Normalize the source value to this type described by this class and the passed in DataTypeDescriptor. The type of the DataTypeDescriptor must match this class.

Specified by:
normalize in interface DataValueDescriptor
Overrides:
normalize in class DataType
Parameters:
desiredType - The type to normalize the source column to
source - The value to normalize
Throws:
StandardException - Thrown normalization error.

setWidth

public DataValueDescriptor setWidth(int desiredPrecision,
                                    int desiredScale,
                                    boolean errorOnTrunc)
                             throws StandardException
Throws:
StandardException

getBID

private BigIntegerDecimal getBID(DataValueDescriptor value)
                          throws StandardException
Obtain a BinaryDecimal that represents the passed in value.

Throws:
StandardException

rescale

private static java.math.BigInteger rescale(java.math.BigInteger bi,
                                            int deltaScale)
Rescale a BigInteger, a positive delta means the scale is increased, zero no change and negative decrease of scale. It is up to the caller to manage the actual scale of the value, e.g. don't allow the scale to go negative.

Parameters:
bi - value to be rescaled
deltaScale - change of scale
Returns:
rescaled value

toString

public java.lang.String toString()

typeToBigDecimal

public final int typeToBigDecimal()
DECIMAL implementation. Use DECIMAL to indicate to self that another passed in value is an instance of this type.

Specified by:
typeToBigDecimal in interface DataValueDescriptor
Overrides:
typeToBigDecimal in class NumberDataType

typePrecedence

public final 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 DataType
Returns:
The precedence of this type.
See Also:
DataValueDescriptor.typePrecedence()

getTypeName

public final java.lang.String getTypeName()
Description copied from interface: DataValueDescriptor
Get the SQL name of the datatype

Specified by:
getTypeName in interface DataValueDescriptor
Returns:
The SQL name of the datatype

getTypeFormatId

public final int getTypeFormatId()
Return my format identifier.

Specified by:
getTypeFormatId in interface TypedFormat
Returns:
The identifier. (A UUID stuffed in an array of 16 bytes).
See Also:
TypedFormat.getTypeFormatId()

isNull

public boolean isNull()
see if the decimal value is null.

Specified by:
isNull in interface Storable
Returns:
true if the value is null and false otherwise.

restoreToNull

public void restoreToNull()
Description copied from interface: Storable
Restore this object to its (SQL)null value.

Specified by:
restoreToNull in interface Storable

isNegative

protected boolean isNegative()
Description copied from class: NumberDataType
The isNegative abstract method. Checks to see if this.value is negative. To be implemented by each NumberDataType.

Specified by:
isNegative in class NumberDataType
Returns:
A boolean. If this.value is negative, return true. For positive values or null, return false.

setValue

public void setValue(long theValue)
Set the value from a long.

Specified by:
setValue in interface DataValueDescriptor
Overrides:
setValue in class DataType
Parameters:
theValue - The value to set this DataValueDescriptor to
Returns:
This DataValueDescriptor

setValue

public final void setValue(int theValue)
Set the value from an int, just copy 'byte-by-byte' from the int to a four byte array. Then reduce.

Specified by:
setValue in interface DataValueDescriptor
Overrides:
setValue in class DataType
Parameters:
theValue - The value to set this DataValueDescriptor to
Returns:
This DataValueDescriptor
See Also:
NumberDataValue.setValue(java.lang.Number)

setValue

public final void setValue(double theValue)
                    throws StandardException
Convert from a double, normalize and then convert as a String.

Specified by:
setValue in interface DataValueDescriptor
Overrides:
setValue in class DataType
Parameters:
theValue - The value to set this DataValueDescriptor to
Returns:
This DataValueDescriptor
Throws:
StandardException - Thrown on error

setValue

public final void setValue(float theValue)
                    throws StandardException
Convert from a float, normalize and then convert as a String.

Specified by:
setValue in interface DataValueDescriptor
Overrides:
setValue in class DataType
Parameters:
theValue - The value to set this DataValueDescriptor to
Returns:
This DataValueDescriptor
Throws:
StandardException - Thrown on error

setValue

public void setValue(java.lang.Number theValue)
              throws StandardException
Called when setting a DECIMAL value internally or from through a procedure or function. Handles long in addition to BigDecimal to handle identity being stored as a long but returned as a DECIMAL.

Specified by:
setValue in interface NumberDataValue
Overrides:
setValue in class NumberDataType
Throws:
StandardException - Thrown on error
See Also:
NumberDataValue.setValue(java.lang.Number)

setFrom

protected void setFrom(DataValueDescriptor dvd)
                throws StandardException
Set this DECIMAL value from another DataValueDescriptor

Overrides:
setFrom in class DataType
Throws:
StandardException

getInt

public final int getInt()
                 throws StandardException
Return a int from this value.

Specified by:
getInt in interface DataValueDescriptor
Overrides:
getInt in class DataType
Returns:
The data value as a int.
Throws:
StandardException - this value is out of range for an int

getByte

public final byte getByte()
                   throws StandardException
Return a byte from this value.

Specified by:
getByte in interface DataValueDescriptor
Overrides:
getByte in class DataType
Returns:
The data value as a byte.
Throws:
StandardException - this value is out of range for a short

getShort

public final short getShort()
                     throws StandardException
Return a short from this value.

Specified by:
getShort in interface DataValueDescriptor
Overrides:
getShort in class DataType
Returns:
The data value as a short.
Throws:
StandardException - this value is out of range for a short

plus

public final NumberDataValue plus(NumberDataValue addend1,
                                  NumberDataValue addend2,
                                  NumberDataValue result)
                           throws StandardException
This method implements the + operator for DECIMAL.

Specified by:
plus in interface NumberDataValue
Overrides:
plus in class NumberDataType
Parameters:
addend1 - One of the addends
addend2 - The other addend
result - The result of a previous call to this method, null if not called yet
Returns:
A SQLDecimal containing the result of the addition
Throws:
StandardException - Thrown on error

times

public final NumberDataValue times(NumberDataValue left,
                                   NumberDataValue right,
                                   NumberDataValue result)
                            throws StandardException
Description copied from interface: NumberDataValue
The SQL * operator.

Specified by:
times in interface NumberDataValue
Parameters:
left - The left operand
right - The right operand
result - The result of the previous call to this method, null if not called yet.
Returns:
left * right
Throws:
StandardException - Thrown on error, if result is non-null then its value will be unchanged.

divide

public NumberDataValue divide(NumberDataValue dividend,
                              NumberDataValue divisor,
                              NumberDataValue result)
                       throws StandardException
Description copied from class: NumberDataType
This method implements the / operator for TINYINT, SMALLINT and INTEGER. Specialized methods are not required for TINYINT and SMALLINT as the Java virtual machine always executes byte and int division as integer.

Specified by:
divide in interface NumberDataValue
Overrides:
divide in class NumberDataType
Parameters:
dividend - The numerator
divisor - The denominator
result - The result of a previous call to this method, null if not called yet
Returns:
A SQLInteger containing the result of the division
Throws:
StandardException - Thrown on error

divide

public final NumberDataValue divide(NumberDataValue dividend,
                                    NumberDataValue divisor,
                                    NumberDataValue result,
                                    int scale)
                             throws StandardException
This method implements the / operator for BigDecimal/BigDecimal

Specified by:
divide in interface NumberDataValue
Overrides:
divide in class NumberDataType
Parameters:
dividend - The numerator
divisor - The denominator
result - The result of a previous call to this method, null if not called yet
scale - The result scale, if < 0, calculate the scale according to the actual values' sizes
Returns:
A SQLDecimal containing the result of the division
Throws:
StandardException - Thrown on error

minus

public final NumberDataValue minus(NumberDataValue left,
                                   NumberDataValue right,
                                   NumberDataValue result)
                            throws StandardException
Description copied from class: NumberDataType
This method implements the - operator for TINYINT, SMALLINT and INTEGER.

Specified by:
minus in interface NumberDataValue
Overrides:
minus in class NumberDataType
Parameters:
left - The value to be subtracted from
right - The value to be subtracted
result - The result of a previous call to this method, null if not called yet
Returns:
A SQLInteger containing the result of the subtraction
Throws:
StandardException - Thrown on error

minusNN

public NumberDataValue minusNN(NumberDataValue left,
                               NumberDataValue right,
                               NumberDataValue result)
                        throws StandardException
Implement subtraction using addition and negation of the right value.

Throws:
StandardException

getDecimalValueScale

public int getDecimalValueScale()
Return the SQL scale of this value, number of digits after the decimal point, or zero for a whole number.

Specified by:
getDecimalValueScale in interface NumberDataValue
Overrides:
getDecimalValueScale in class NumberDataType

writeExternal

public void writeExternal(java.io.ObjectOutput out)
                   throws java.io.IOException
Distill the Decimal to a byte array and Write out:

Specified by:
writeExternal in interface java.io.Externalizable
Throws:
java.io.IOException

readExternal

public void readExternal(java.io.ObjectInput in)
                  throws java.io.IOException
Note the use of data2c: we reuse the array if the incoming array is the same length or smaller than the array length.

Specified by:
readExternal in interface java.io.Externalizable
Throws:
java.io.IOException
See Also:
Externalizable.readExternal(java.io.ObjectInput)

readExternalFromArray

public void readExternalFromArray(ArrayInputStream in)
                           throws java.io.IOException
Description copied from interface: DataValueDescriptor
Read the DataValueDescriptor from the stream.

Initialize the data value by reading it's values from the ArrayInputStream. This interface is provided as a way to achieve possible performance enhancement when reading an array can be optimized over reading from a generic stream from readExternal().

Specified by:
readExternalFromArray in interface DataValueDescriptor
Parameters:
in - The array stream positioned at the beginning of the byte stream to read from.
Throws:
java.io.IOException - Usual error is if you try to read past limit on the stream.

getLength

public final int getLength()
Description copied from interface: DataValueDescriptor
Gets the length of the data value. The meaning of this is implementation-dependent. For string types, it is the number of characters in the string. For numeric types, it is the number of bytes used to store the number. This is the actual length of this value, not the length of the type it was defined as. For example, a VARCHAR value may be shorter than the declared VARCHAR (maximum) length.

Specified by:
getLength in interface DataValueDescriptor
Returns:
The length of the data value

getClone

public DataValueDescriptor getClone()
Description copied from interface: DataValueDescriptor
Clone this DataValueDescriptor. Results in a new object that has the same value as this but can be modified independently.

Specified by:
getClone in interface DataValueDescriptor
Returns:
A clone of the DataValueDescriptor with the same initial value as this.

setValueFromResultSet

public void setValueFromResultSet(java.sql.ResultSet resultSet,
                                  int colNumber,
                                  boolean isNullable)
                           throws StandardException,
                                  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
Parameters:
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)
Returns:
Nothing.
Throws:
StandardException - Thrown on error
java.sql.SQLException - Error accessing the result set

estimateMemoryUsage

public int estimateMemoryUsage()
Description copied from interface: DataValueDescriptor
Estimate the memory usage in bytes of the data value and the overhead of the class.

Specified by:
estimateMemoryUsage in interface DataValueDescriptor
Returns:
the estimated memory usage

hashCode

public int hashCode()

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.