Class SQLReal
- java.lang.Object
-
- org.apache.derby.iapi.types.DataType
-
- org.apache.derby.iapi.types.NumberDataType
-
- org.apache.derby.iapi.types.SQLReal
-
- All Implemented Interfaces:
java.io.Externalizable
,java.io.Serializable
,java.lang.Comparable
,Formatable
,Storable
,TypedFormat
,DataValueDescriptor
,NumberDataValue
,Orderable
public final class SQLReal extends NumberDataType
SQLReal satisfies the DataValueDescriptor interfaces (i.e., OrderableDataType). It implements a real column, e.g. for storing a column value; it can be specified when constructed to not allow nulls. Nullability cannot be changed after construction, as it affects the storage size and mechanism.Because OrderableDataType is a subtype of ValueColumn, SQLReal can play a role in either a ValueColumn/Row or a OrderableDataType/Row, interchangeably.
We assume the store has a flag for nullness of the value, and simply return a 0-length array for the stored form when the value is null.
PERFORMANCE: There are likely alot of performance improvements possible for this implementation -- it new's Float more than it probably wants to.
This is called SQLReal even though it maps to the Java float type, to avoid confusion with whether it maps to the SQL float type or not. It doesn't, it maps to the SQL real type.
This is modeled after SQLSmallint.
- See Also:
SQLSmallint
, Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private static int
BASE_MEMORY_USAGE
private boolean
isnull
(package private) static int
REAL_LENGTH
private float
value
-
Fields inherited from class org.apache.derby.iapi.types.NumberDataType
MAXLONG_PLUS_ONE, MINLONG_MINUS_ONE
-
Fields inherited from interface org.apache.derby.iapi.types.DataValueDescriptor
UNKNOWN_LOGICAL_LENGTH
-
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
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DataValueDescriptor
cloneValue(boolean forceMaterialization)
Clone this DataValueDescriptor.NumberDataValue
divide(NumberDataValue dividend, NumberDataValue divisor, NumberDataValue result)
This method implements the / operator for "real / real".BooleanDataValue
equals(DataValueDescriptor left, DataValueDescriptor right)
The = operator as called from the language module, as opposed to the storage module.int
estimateMemoryUsage()
Estimate the memory usage in bytes of the data value and the overhead of the class.boolean
getBoolean()
Gets the value in the data value descriptor as a boolean.byte
getByte()
Gets the value in the data value descriptor as a byte.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()
Gets the value in the data value descriptor as a int.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.java.lang.Object
getObject()
Gets the value in the data value descriptor as a int.short
getShort()
Gets the value in the data value descriptor as a short.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 datatypeBooleanDataValue
greaterOrEquals(DataValueDescriptor left, DataValueDescriptor right)
The >= operator as called from the language module, as opposed to the storage module.BooleanDataValue
greaterThan(DataValueDescriptor left, DataValueDescriptor right)
The > operator as called from the language module, as opposed to the storage module.int
hashCode()
protected boolean
isNegative()
This method implements the isNegative method.boolean
isNull()
Return whether the value is null or not.BooleanDataValue
lessOrEquals(DataValueDescriptor left, DataValueDescriptor right)
The <= operator as called from the language module, as opposed to the storage module.BooleanDataValue
lessThan(DataValueDescriptor left, DataValueDescriptor right)
The < operator as called from the language module, as opposed to the storage module.NumberDataValue
minus(NumberDataValue result)
This method implements the unary minus operator for real.NumberDataValue
minus(NumberDataValue left, NumberDataValue right, NumberDataValue result)
This method implements the - operator for "real - real".BooleanDataValue
notEquals(DataValueDescriptor left, DataValueDescriptor right)
The <> operator as called from the language module, as opposed to the storage module.NumberDataValue
plus(NumberDataValue addend1, NumberDataValue addend2, NumberDataValue result)
This method implements the + operator for "real + real".void
readExternal(java.io.ObjectInput in)
void
restoreToNull()
Restore this object to its (SQL)null value.void
setBigDecimal(java.math.BigDecimal bigDecimal)
Called for an application setting this value using a BigDecimalprotected void
setFrom(DataValueDescriptor theValue)
Set the value of this DataValueDescriptor based on the value of the specified DataValueDescriptor.void
setInto(java.sql.PreparedStatement ps, int position)
Set the value into a PreparedStatement.void
setInto(java.sql.ResultSet rs, int position)
Set this value into a ResultSet for a subsequent ResultSet.insertRow or ResultSet.updateRow.(package private) void
setObject(java.lang.Object theValue)
Set the value from a correctly typed Float object.void
setValue(boolean theValue)
Set the value.void
setValue(double theValue)
Set the value of this DataValueDescriptor to the given double value At DataType level just throws an error lower classes will overridevoid
setValue(float theValue)
Set the value of this DataValueDescriptor to the given float value At DataType level just throws an error lower classes will overridevoid
setValue(int theValue)
Set the value of this DataValueDescriptor to the given int value At DataType level just throws an error lower classes will overridevoid
setValue(long theValue)
Set the value of this DataValueDescriptor to the given long value At DataType level just throws an error lower classes will overridevoid
setValue(java.lang.Number theValue)
Common code to handle java.lang.Integer as a Number, used for TINYINT, SMALLINT, INTEGERvoid
setValue(java.lang.String theValue)
Set the value of this DataValueDescriptor.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.NumberDataValue
times(NumberDataValue left, NumberDataValue right, NumberDataValue result)
This method implements the * operator for "real * real".java.lang.String
toString()
protected int
typeCompare(DataValueDescriptor arg)
Compare this (not null) to a non-null value.int
typePrecedence()
Each built-in type in JSQL has a precedence.int
typeToBigDecimal()
DOUBLE implementation.void
writeExternal(java.io.ObjectOutput out)
-
Methods inherited from class org.apache.derby.iapi.types.NumberDataType
absolute, compare, compare, divide, mod, normalizeDOUBLE, normalizeREAL, normalizeREAL, objectNull, setValue, setValue, sqrt
-
Methods inherited from class org.apache.derby.iapi.types.DataType
checkHostVariable, cloneHolder, coalesce, compare, compare, compareTo, dataTypeConversion, equals, flip, genericSetObject, getBytes, getDate, getStream, getTime, getTimestamp, getTraceString, getTypeName, hasStream, in, invalidFormat, isNotNull, isNullOp, normalize, outOfRange, readExternalFromArray, recycle, setObjectForCast, setToNull, 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
checkHostVariable, cloneHolder, coalesce, compare, compare, getBytes, getDate, getStream, getTime, getTimestamp, getTraceString, hasStream, in, isNotNull, isNullOp, normalize, readExternalFromArray, recycle, setObjectForCast, setToNull, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue
-
-
-
-
Field Detail
-
REAL_LENGTH
static final int REAL_LENGTH
- See Also:
- Constant Field Values
-
BASE_MEMORY_USAGE
private static final int BASE_MEMORY_USAGE
-
value
private float value
-
isnull
private boolean isnull
-
-
Constructor Detail
-
SQLReal
public SQLReal()
no-arg constructor, required by Formattable.
-
SQLReal
public SQLReal(float val) throws StandardException
- Throws:
StandardException
-
SQLReal
public SQLReal(java.lang.Float obj) throws StandardException
- Throws:
StandardException
-
-
Method Detail
-
getInt
public int getInt() throws StandardException
Description copied from class:DataType
Gets the value in the data value descriptor as a int. Throws an exception if the data value is not receivable as a int.- Specified by:
getInt
in interfaceDataValueDescriptor
- Overrides:
getInt
in classDataType
- Returns:
- The data value as a int.
- Throws:
StandardException
- thrown on failure to convert- See Also:
DataValueDescriptor.getInt()
-
getByte
public byte getByte() throws StandardException
Description copied from class:DataType
Gets the value in the data value descriptor as a byte. Throws an exception if the data value is not receivable as a byte.- Specified by:
getByte
in interfaceDataValueDescriptor
- Overrides:
getByte
in classDataType
- Returns:
- The data value as a byte.
- Throws:
StandardException
- thrown on failure to convert- See Also:
DataValueDescriptor.getByte()
-
getShort
public short getShort() throws StandardException
Description copied from class:DataType
Gets the value in the data value descriptor as a short. Throws an exception if the data value is not receivable as a short.- Specified by:
getShort
in interfaceDataValueDescriptor
- Overrides:
getShort
in classDataType
- Returns:
- The data value as a short.
- Throws:
StandardException
- thrown on failure to convert- See Also:
DataValueDescriptor.getShort()
-
getLong
public long getLong() throws StandardException
Description copied from class:DataType
Gets the value in the data value descriptor as a long. Throws an exception if the data value is not receivable as a long.- Specified by:
getLong
in interfaceDataValueDescriptor
- Overrides:
getLong
in classDataType
- Returns:
- The data value as a long.
- Throws:
StandardException
- thrown on failure to convert- See Also:
DataValueDescriptor.getLong()
-
getFloat
public float getFloat()
Description copied from class:DataType
Gets the value in the data value descriptor as a float. Throws an exception if the data value is not receivable as a float.- Specified by:
getFloat
in interfaceDataValueDescriptor
- Overrides:
getFloat
in classDataType
- Returns:
- The data value as a float.
- See Also:
DataValueDescriptor.getFloat()
-
getDouble
public double getDouble()
Description copied from class:DataType
Gets the value in the data value descriptor as a double. Throws an exception if the data value is not receivable as a double.- Specified by:
getDouble
in interfaceDataValueDescriptor
- Overrides:
getDouble
in classDataType
- Returns:
- The data value as a double.
- See Also:
DataValueDescriptor.getDouble()
-
typeToBigDecimal
public int typeToBigDecimal()
DOUBLE implementation. Convert to a BigDecimal using getString.- Specified by:
typeToBigDecimal
in interfaceDataValueDescriptor
- Overrides:
typeToBigDecimal
in classNumberDataType
- Returns:
- Types.CHAR for String conversion through getString Types.DECIMAL for BigDecimal through getObject or Types.BIGINT for long conversion through getLong
-
getBoolean
public boolean getBoolean()
Description copied from class:DataType
Gets the value in the data value descriptor as a boolean. Throws an exception if the data value is not receivable as a boolean.- Specified by:
getBoolean
in interfaceDataValueDescriptor
- Overrides:
getBoolean
in classDataType
- Returns:
- The data value as a boolean.
- See Also:
DataValueDescriptor.getBoolean()
-
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.
- See Also:
DataValueDescriptor.getString()
-
getLength
public 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.- Returns:
- The length of the data value
- See Also:
DataValueDescriptor.getLength()
-
getObject
public java.lang.Object getObject()
Description copied from class:DataType
Gets the value in the data value descriptor as a int. Throws an exception if the data value is not receivable as a int.- Specified by:
getObject
in interfaceDataValueDescriptor
- Overrides:
getObject
in classDataType
- Returns:
- The data value as a int.
- See Also:
DataValueDescriptor.getObject()
-
getTypeName
public java.lang.String getTypeName()
Description copied from interface:DataValueDescriptor
Get the SQL name of the datatype- Returns:
- The SQL name of the datatype
-
getTypeFormatId
public int getTypeFormatId()
Return my format identifier.- Returns:
- The identifier. (A UUID stuffed in an array of 16 bytes).
- See Also:
TypedFormat.getTypeFormatId()
-
isNull
public boolean isNull()
Description copied from interface:Storable
Return whether the value is null or not.- Returns:
- true if the value is null and false otherwise.
- See Also:
Storable.isNull()
-
writeExternal
public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException
- Throws:
java.io.IOException
-
readExternal
public void readExternal(java.io.ObjectInput in) throws java.io.IOException
- Throws:
java.io.IOException
- See Also:
Externalizable.readExternal(java.io.ObjectInput)
-
restoreToNull
public void restoreToNull()
Description copied from interface:Storable
Restore this object to its (SQL)null value.- See Also:
Storable.restoreToNull()
-
typeCompare
protected int typeCompare(DataValueDescriptor arg) throws StandardException
Description copied from class:NumberDataType
Compare this (not null) to a non-null value.- Specified by:
typeCompare
in classNumberDataType
- Throws:
StandardException
- Thrown on error
-
cloneValue
public DataValueDescriptor cloneValue(boolean forceMaterialization)
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.Even though the objects can be modified independently regardless of the value of
forceMaterialization
, both the clone and the original may be dependent on the store state ifforceMaterialization
is set tofalse
. An example is if you need to access the value you just read usingcloneValue
after the current transaction has ended, or after the source result set has been closed.- Parameters:
forceMaterialization
- any streams representing the data value will be materialized iftrue
, the data value will be kept as a stream if possible iffalse
- Returns:
- A clone of the
DataValueDescriptor
with the same initial value as this. - See Also:
DataValueDescriptor.cloneValue(boolean)
-
getNewNull
public DataValueDescriptor getNewNull()
Description copied from interface:DataValueDescriptor
Get a new null value of the same type as this data value.- See Also:
DataValueDescriptor.getNewNull()
-
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.- 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)- Throws:
StandardException
- Thrown on errorjava.sql.SQLException
- Thrown on error- See Also:
DataValueDescriptor.setValueFromResultSet(java.sql.ResultSet, int, boolean)
-
setInto
public final void setInto(java.sql.PreparedStatement ps, int position) throws java.sql.SQLException
Set the value into a PreparedStatement.- Specified by:
setInto
in interfaceDataValueDescriptor
- Overrides:
setInto
in classDataType
- Throws:
java.sql.SQLException
- Error setting value in PreparedStatement
-
setInto
public final void setInto(java.sql.ResultSet rs, int position) throws java.sql.SQLException, StandardException
Set this value into a ResultSet for a subsequent ResultSet.insertRow or ResultSet.updateRow. This method will only be called for non-null values.- Specified by:
setInto
in interfaceDataValueDescriptor
- Overrides:
setInto
in classDataType
- Throws:
java.sql.SQLException
- thrown by the ResultSet objectStandardException
- thrown by me accessing my value.
-
setValue
public void setValue(java.lang.String theValue) throws StandardException
Description copied from class:DataType
Set the value of this DataValueDescriptor. At DataType level just throws an error lower classes will override- Specified by:
setValue
in interfaceDataValueDescriptor
- Overrides:
setValue
in classDataType
- Parameters:
theValue
- The BigDecimal value to set this DataValueDescriptor to- Throws:
StandardException
- thrown if string not accepted
-
setValue
public void setValue(java.lang.Number theValue) throws StandardException
Description copied from class:NumberDataType
Common code to handle java.lang.Integer as a Number, used for TINYINT, SMALLINT, INTEGER- Specified by:
setValue
in interfaceNumberDataValue
- Overrides:
setValue
in classNumberDataType
- Parameters:
theValue
- An Number containing the value to set this NumberDataValue to. Null means set the value to SQL null.- Throws:
StandardException
- Thrown on error- See Also:
NumberDataValue.setValue(java.lang.Number)
-
setBigDecimal
public void setBigDecimal(java.math.BigDecimal bigDecimal) throws StandardException
Called for an application setting this value using a BigDecimal- Specified by:
setBigDecimal
in interfaceDataValueDescriptor
- Overrides:
setBigDecimal
in classNumberDataType
- Parameters:
bigDecimal
- required to be a BigDecimal or null.- Throws:
StandardException
-
setValue
public void setValue(float theValue) throws StandardException
Description copied from class:DataType
Set the value of this DataValueDescriptor to the given float value At DataType level just throws an error lower classes will override- Specified by:
setValue
in interfaceDataValueDescriptor
- Overrides:
setValue
in classDataType
- Parameters:
theValue
- The value to set this DataValueDescriptor to- Throws:
StandardException
- Thrown on error
-
setValue
public void setValue(int theValue)
Description copied from class:DataType
Set the value of this DataValueDescriptor to the given int value At DataType level just throws an error lower classes will override- Specified by:
setValue
in interfaceDataValueDescriptor
- Overrides:
setValue
in classDataType
- Parameters:
theValue
- The value to set this DataValueDescriptor to
-
setValue
public void setValue(long theValue)
Description copied from class:DataType
Set the value of this DataValueDescriptor to the given long value At DataType level just throws an error lower classes will override- Specified by:
setValue
in interfaceDataValueDescriptor
- Overrides:
setValue
in classDataType
- Parameters:
theValue
- The value to set this DataValueDescriptor to
-
setValue
public void setValue(double theValue) throws StandardException
Description copied from class:DataType
Set the value of this DataValueDescriptor to the given double value At DataType level just throws an error lower classes will override- Specified by:
setValue
in interfaceDataValueDescriptor
- Overrides:
setValue
in classDataType
- Parameters:
theValue
- The value to set this DataValueDescriptor to- Throws:
StandardException
- if outsideRangeForReal
-
setValue
public void setValue(boolean theValue)
Description copied from class:DataType
Set the value. At DataType level just throws an error lower classes will override- Specified by:
setValue
in interfaceDataValueDescriptor
- Overrides:
setValue
in classDataType
- Parameters:
theValue
- Contains the boolean value to set this to- See Also:
NumberDataValue.setValue(java.lang.Number)
-
setObject
void setObject(java.lang.Object theValue) throws StandardException
Set the value from a correctly typed Float object.- Overrides:
setObject
in classNumberDataType
- Throws:
StandardException
-
setFrom
protected void setFrom(DataValueDescriptor theValue) throws StandardException
Description copied from class:DataType
Set the value of this DataValueDescriptor based on the value of the specified DataValueDescriptor.- Overrides:
setFrom
in classDataType
- Parameters:
theValue
- The DataValueDescriptor that holds the value to which we want to set this DataValueDescriptor's value.- Throws:
StandardException
-
typePrecedence
public int typePrecedence()
Description copied from class:DataType
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 interfaceDataValueDescriptor
- Overrides:
typePrecedence
in classDataType
- Returns:
- The precedence of this type.
- See Also:
DataValueDescriptor.typePrecedence()
-
equals
public BooleanDataValue equals(DataValueDescriptor left, DataValueDescriptor right) throws StandardException
The = operator as called from the language module, as opposed to the storage module.- Specified by:
equals
in interfaceDataValueDescriptor
- Overrides:
equals
in classDataType
- Parameters:
left
- The value on the left side of the =right
- The value on the right side of the =- Returns:
- A SQL boolean value telling whether the two parameters are equal
- Throws:
StandardException
- Thrown on error
-
notEquals
public BooleanDataValue notEquals(DataValueDescriptor left, DataValueDescriptor right) throws StandardException
The <> operator as called from the language module, as opposed to the storage module.- Specified by:
notEquals
in interfaceDataValueDescriptor
- Overrides:
notEquals
in classDataType
- Parameters:
left
- The value on the left side of the operatorright
- The value on the right side of the operator- Returns:
- A SQL boolean value telling whether the two parameters are not equal
- Throws:
StandardException
- Thrown on error
-
lessThan
public BooleanDataValue lessThan(DataValueDescriptor left, DataValueDescriptor right) throws StandardException
The < operator as called from the language module, as opposed to the storage module.- Specified by:
lessThan
in interfaceDataValueDescriptor
- Overrides:
lessThan
in classDataType
- Parameters:
left
- The value on the left side of the operatorright
- The value on the right side of the operator- Returns:
- A SQL boolean value telling whether the first operand is less than the second operand
- Throws:
StandardException
- Thrown on error
-
greaterThan
public BooleanDataValue greaterThan(DataValueDescriptor left, DataValueDescriptor right) throws StandardException
The > operator as called from the language module, as opposed to the storage module.- Specified by:
greaterThan
in interfaceDataValueDescriptor
- Overrides:
greaterThan
in classDataType
- Parameters:
left
- The value on the left side of the operatorright
- The value on the right side of the operator- Returns:
- A SQL boolean value telling whether the first operand is greater than the second operand
- Throws:
StandardException
- Thrown on error
-
lessOrEquals
public BooleanDataValue lessOrEquals(DataValueDescriptor left, DataValueDescriptor right) throws StandardException
The <= operator as called from the language module, as opposed to the storage module.- Specified by:
lessOrEquals
in interfaceDataValueDescriptor
- Overrides:
lessOrEquals
in classDataType
- Parameters:
left
- The value on the left side of the operatorright
- The value on the right side of the operator- Returns:
- A SQL boolean value telling whether the first operand is less than or equal to the second operand
- Throws:
StandardException
- Thrown on error
-
greaterOrEquals
public BooleanDataValue greaterOrEquals(DataValueDescriptor left, DataValueDescriptor right) throws StandardException
The >= operator as called from the language module, as opposed to the storage module.- Specified by:
greaterOrEquals
in interfaceDataValueDescriptor
- Overrides:
greaterOrEquals
in classDataType
- Parameters:
left
- The value on the left side of the operatorright
- The value on the right side of the operator- Returns:
- A SQL boolean value telling whether the first operand is greater than or equal to the second operand
- Throws:
StandardException
- Thrown on error
-
plus
public NumberDataValue plus(NumberDataValue addend1, NumberDataValue addend2, NumberDataValue result) throws StandardException
This method implements the + operator for "real + real". The operator uses DOUBLE aritmetic as DB2 does.- Specified by:
plus
in interfaceNumberDataValue
- Overrides:
plus
in classNumberDataType
- Parameters:
addend1
- One of the addendsaddend2
- The other addendresult
- The result of a previous call to this method, null if not called yet- Returns:
- A SQLReal containing the result of the addition
- Throws:
StandardException
- Thrown on error
-
minus
public NumberDataValue minus(NumberDataValue left, NumberDataValue right, NumberDataValue result) throws StandardException
This method implements the - operator for "real - real". The operator uses DOUBLE aritmetic as DB2 does.- Specified by:
minus
in interfaceNumberDataValue
- Overrides:
minus
in classNumberDataType
- Parameters:
left
- The value to be subtracted fromright
- The value to be subtractedresult
- The result of a previous call to this method, null if not called yet- Returns:
- A SQLReal containing the result of the subtraction
- Throws:
StandardException
- Thrown on error
-
times
public NumberDataValue times(NumberDataValue left, NumberDataValue right, NumberDataValue result) throws StandardException
This method implements the * operator for "real * real". The operator uses DOUBLE aritmetic as DB2 does.- Parameters:
left
- The first value to be multipliedright
- The second value to be multipliedresult
- The result of a previous call to this method, null if not called yet- Returns:
- A SQLReal containing the result of the multiplication
- Throws:
StandardException
- Thrown on error
-
divide
public NumberDataValue divide(NumberDataValue dividend, NumberDataValue divisor, NumberDataValue result) throws StandardException
This method implements the / operator for "real / real". The operator uses DOUBLE aritmetic as DB2 does.- Specified by:
divide
in interfaceNumberDataValue
- Overrides:
divide
in classNumberDataType
- Parameters:
dividend
- The numeratordivisor
- The denominatorresult
- The result of a previous call to this method, null if not called yet- Returns:
- A SQLReal containing the result of the division
- Throws:
StandardException
- Thrown on error
-
minus
public NumberDataValue minus(NumberDataValue result) throws StandardException
This method implements the unary minus operator for real.- Parameters:
result
- The result of a previous call to this method, null if not called yet- Returns:
- A SQLSmalllint containing the result of the division
- Throws:
StandardException
- Thrown on error
-
isNegative
protected boolean isNegative()
This method implements the isNegative method. Note: This method will return true for -0.0f.- Specified by:
isNegative
in classNumberDataType
- Returns:
- A boolean. If this.value is negative, return true. For positive values or null, return false.
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
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.- Returns:
- the estimated memory usage
-
-