Package org.apache.derby.iapi.types
Interface NumberDataValue
-
- All Superinterfaces:
DataValueDescriptor
,java.io.Externalizable
,Formatable
,Orderable
,java.io.Serializable
,Storable
,TypedFormat
- All Known Implementing Classes:
NumberDataType
,SQLDecimal
,SQLDouble
,SQLInteger
,SQLLongint
,SQLReal
,SQLSmallint
,SQLTinyint
public interface NumberDataValue extends DataValueDescriptor
-
-
Field Summary
Fields Modifier and Type Field Description static int
MAX_DECIMAL_PRECISION_SCALE
static int
MIN_DECIMAL_DIVIDE_SCALE
The minimum scale when dividing Decimals-
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
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description NumberDataValue
absolute(NumberDataValue result)
The SQL ABSOLUTE operator.NumberDataValue
divide(NumberDataValue dividend, NumberDataValue divisor, NumberDataValue result)
The SQL / operator.NumberDataValue
divide(NumberDataValue dividend, NumberDataValue divisor, NumberDataValue result, int scale)
The SQL / operator.NumberDataValue
minus(NumberDataValue result)
The SQL unary - operator.NumberDataValue
minus(NumberDataValue left, NumberDataValue right, NumberDataValue result)
The SQL - operator.NumberDataValue
mod(NumberDataValue dividend, NumberDataValue divisor, NumberDataValue result)
The SQL mod operator.NumberDataValue
plus(NumberDataValue addend1, NumberDataValue addend2, NumberDataValue result)
The SQL + operator.void
setValue(java.lang.Number theValue)
Set the value of this NumberDataValue to the given value.NumberDataValue
sqrt(NumberDataValue result)
The SQL SQRT operator.NumberDataValue
times(NumberDataValue left, NumberDataValue right, NumberDataValue result)
The SQL * operator.-
Methods inherited from interface org.apache.derby.iapi.types.DataValueDescriptor
checkHostVariable, cloneHolder, cloneValue, coalesce, compare, compare, compare, compare, equals, estimateMemoryUsage, getBoolean, getByte, getBytes, getDate, getDouble, getFloat, getInt, getLength, getLong, getNewNull, getObject, getShort, getStream, getString, getTime, getTimestamp, getTraceString, getTypeName, greaterOrEquals, greaterThan, hasStream, in, isNotNull, isNullOp, lessOrEquals, lessThan, normalize, notEquals, readExternalFromArray, recycle, setBigDecimal, setInto, setInto, setObjectForCast, setToNull, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValueFromResultSet, typePrecedence, typeToBigDecimal
-
Methods inherited from interface org.apache.derby.iapi.services.io.Storable
isNull, restoreToNull
-
Methods inherited from interface org.apache.derby.iapi.services.io.TypedFormat
getTypeFormatId
-
-
-
-
Field Detail
-
MIN_DECIMAL_DIVIDE_SCALE
static final int MIN_DECIMAL_DIVIDE_SCALE
The minimum scale when dividing Decimals- See Also:
- Constant Field Values
-
MAX_DECIMAL_PRECISION_SCALE
static final int MAX_DECIMAL_PRECISION_SCALE
- See Also:
- Constant Field Values
-
-
Method Detail
-
plus
NumberDataValue plus(NumberDataValue addend1, NumberDataValue addend2, NumberDataValue result) throws StandardException
The SQL + operator.- Parameters:
addend1
- One of the addendsaddend2
- The other addendresult
- The result of the previous call to this method, null if not called yet.- Returns:
- The sum of the two addends
- Throws:
StandardException
- Thrown on error, if result is non-null then its value will be unchanged.
-
minus
NumberDataValue minus(NumberDataValue left, NumberDataValue right, NumberDataValue result) throws StandardException
The SQL - operator.- Parameters:
left
- The left operandright
- The right operandresult
- 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.
-
times
NumberDataValue times(NumberDataValue left, NumberDataValue right, NumberDataValue result) throws StandardException
The SQL * operator.- Parameters:
left
- The left operandright
- The right operandresult
- 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
NumberDataValue divide(NumberDataValue dividend, NumberDataValue divisor, NumberDataValue result) throws StandardException
The SQL / operator.- Parameters:
dividend
- The numeratordivisor
- The denominatorresult
- The result of the previous call to this method, null if not called yet.- Returns:
- dividend / divisor
- Throws:
StandardException
- Thrown on error, if result is non-null then its value will be unchanged.
-
divide
NumberDataValue divide(NumberDataValue dividend, NumberDataValue divisor, NumberDataValue result, int scale) throws StandardException
The SQL / operator.- Parameters:
dividend
- The numeratordivisor
- The denominatorresult
- The result of the previous call to this method, null if not called yet.scale
- The scale of the result, for decimal type. If pass in value < 0, can calculate it dynamically.- Returns:
- dividend / divisor
- Throws:
StandardException
- Thrown on error, if result is non-null then its value will be unchanged.
-
mod
NumberDataValue mod(NumberDataValue dividend, NumberDataValue divisor, NumberDataValue result) throws StandardException
The SQL mod operator.- Parameters:
dividend
- The numeratordivisor
- The denominatorresult
- The result of the previous call to this method, null if not called yet.- Returns:
- dividend / divisor
- Throws:
StandardException
- Thrown on error, if result is non-null then its value will be unchanged.
-
minus
NumberDataValue minus(NumberDataValue result) throws StandardException
The SQL unary - operator. Negates this NumberDataValue.- 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.
-
absolute
NumberDataValue absolute(NumberDataValue result) throws StandardException
The SQL ABSOLUTE operator. Absolute value of this NumberDataValue.- Parameters:
result
- The result of the previous call to this method, null if not called yet.- Throws:
StandardException
- Thrown on error, if result is non-null then its value will be unchanged.
-
sqrt
NumberDataValue sqrt(NumberDataValue result) throws StandardException
The SQL SQRT operator. Sqrt value of this NumberDataValue.- Parameters:
result
- The result of the previous call to this method, null if not call yet.- Throws:
StandardException
- Thrown on error (a negative number), if result is non-null then its value will be unchanged.
-
setValue
void setValue(java.lang.Number theValue) throws StandardException
Set the value of this NumberDataValue to the given value. This is only intended to be called when mapping values from the Java space into the SQL space, e.g. parameters and return types from procedures and functions. Each specific type is only expected to handle the explicit type according the JDBC.- SMALLINT from java.lang.Integer
- INTEGER from java.lang.Integer
- LONG from java.lang.Long
- FLOAT from java.lang.Float
- DOUBLE from java.lang.Double
- DECIMAL from java.math.BigDecimal
- Parameters:
theValue
- An Number containing the value to set this NumberDataValue to. Null means set the value to SQL null.- Throws:
StandardException
-
-