Package org.h2.value
Class ValueDecfloat
- java.lang.Object
-
- org.h2.value.VersionedValue<Value>
-
- org.h2.value.Value
-
- org.h2.value.ValueBigDecimalBase
-
- org.h2.value.ValueDecfloat
-
public final class ValueDecfloat extends ValueBigDecimalBase
Implementation of the DECFLOAT data type.
-
-
Field Summary
Fields Modifier and Type Field Description static ValueDecfloat
NAN
The not a number value.static ValueDecfloat
NEGATIVE_INFINITY
The negative infinity value.static ValueDecfloat
ONE
The value 'one'.static ValueDecfloat
POSITIVE_INFINITY
The positive infinity value.static ValueDecfloat
ZERO
The value 'zero'.-
Fields inherited from class org.h2.value.ValueBigDecimalBase
type, value
-
Fields inherited from class org.h2.value.Value
ARRAY, ASSIGN_TO, BIGINT, BINARY, BLOB, BOOLEAN, CAST_TO, CHAR, CLOB, CONVERT_TO, DATE, DECFLOAT, DOUBLE, EMPTY_VALUES, ENUM, GEOMETRY, GROUP_BINARY_STRING, GROUP_BOOLEAN, GROUP_CHARACTER_STRING, GROUP_COLLECTION, GROUP_DATETIME, GROUP_INTERVAL_DT, GROUP_INTERVAL_YM, GROUP_NULL, GROUP_NUMERIC, GROUP_OTHER, GROUPS, INTEGER, INTERVAL_DAY, INTERVAL_DAY_TO_HOUR, INTERVAL_DAY_TO_MINUTE, INTERVAL_DAY_TO_SECOND, INTERVAL_HOUR, INTERVAL_HOUR_TO_MINUTE, INTERVAL_HOUR_TO_SECOND, INTERVAL_MINUTE, INTERVAL_MINUTE_TO_SECOND, INTERVAL_MONTH, INTERVAL_SECOND, INTERVAL_YEAR, INTERVAL_YEAR_TO_MONTH, JAVA_OBJECT, JSON, MAX_LONG_DECIMAL, MIN_LONG_DECIMAL, NULL, NUMERIC, REAL, ROW, SMALLINT, TIME, TIME_TZ, TIMESTAMP, TIMESTAMP_TZ, TINYINT, TYPE_COUNT, UNKNOWN, UUID, VARBINARY, VARCHAR, VARCHAR_IGNORECASE
-
Fields inherited from interface org.h2.util.HasSQL
ADD_PLAN_INFORMATION, DEFAULT_SQL_FLAGS, NO_CASTS, QUOTE_ONLY_WHEN_REQUIRED, REPLACE_LOBS_FOR_TRACE, TRACE_SQL_FLAGS
-
-
Constructor Summary
Constructors Modifier Constructor Description private
ValueDecfloat(java.math.BigDecimal value)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Value
add(Value v)
Add a value and return the result.int
compareTypeSafe(Value o, CompareMode mode, CastDataProvider provider)
Compare this value against another value given that the values are of the same data type.static ValueDecfloat
divide(java.math.BigDecimal dividend, java.math.BigDecimal divisor, TypeInfo quotientType)
Divides toBigDecimal
values and returns aDECFLOAT
result of the specified data type.Value
divide(Value v, TypeInfo quotientType)
Divide by a value and return the result.boolean
equals(java.lang.Object other)
Check if the two values have the same hash code.static ValueDecfloat
get(java.math.BigDecimal dec)
Get or create a DECFLOAT value for the given big decimal.java.math.BigDecimal
getBigDecimal()
double
getDouble()
Returns this value as a Javadouble
value.float
getFloat()
Returns this value as a Javafloat
value.int
getMemory()
Get the memory used by this object.int
getSignum()
private java.lang.StringBuilder
getSQL(java.lang.StringBuilder builder)
java.lang.StringBuilder
getSQL(java.lang.StringBuilder builder, int sqlFlags)
Appends the SQL statement of this object to the specified builder.java.lang.String
getString()
Get the value as a string.TypeInfo
getType()
Returns the data type.int
getValueType()
Get the value type.int
hashCode()
boolean
isFinite()
Returnstrue
, if this value is finite.Value
modulus(Value v)
Take the modulus with a value and return the result.Value
multiply(Value v)
Multiply with a value and return the result.Value
negate()
Return -value if this value support arithmetic operations.Value
subtract(Value v)
Subtract a value and return the result.-
Methods inherited from class org.h2.value.Value
cache, castTo, charLength, clearCache, compareTo, compareWithNull, containsNull, convertForAssignTo, convertTo, convertTo, convertTo, convertTo, convertTo, convertToAnyArray, convertToAnyRow, convertToBigint, convertToBoolean, convertToChar, convertToDate, convertToDouble, convertToEnum, convertToGeometry, convertToInt, convertToInt, convertToJavaObject, convertToReal, convertToSmallint, convertToTinyint, convertToUuid, getBoolean, getByte, getBytes, getBytesNoCopy, getDataConversionError, getDataConversionError, getHigherOrder, getHigherOrderKnown, getInputStream, getInputStream, getInt, getLong, getReader, getReader, getShort, getTypeName, getUnsupportedExceptionForOperation, getValueTooLongException, isFalse, isTrue, octetLength, rangeCheck, toString
-
Methods inherited from class org.h2.value.VersionedValue
getCommittedValue, getCurrentValue, getOperationId, isCommitted
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.h2.util.HasSQL
getSQL, getTraceSQL
-
-
-
-
Field Detail
-
ZERO
public static final ValueDecfloat ZERO
The value 'zero'.
-
ONE
public static final ValueDecfloat ONE
The value 'one'.
-
POSITIVE_INFINITY
public static final ValueDecfloat POSITIVE_INFINITY
The positive infinity value.
-
NEGATIVE_INFINITY
public static final ValueDecfloat NEGATIVE_INFINITY
The negative infinity value.
-
NAN
public static final ValueDecfloat NAN
The not a number value.
-
-
Method Detail
-
getString
public java.lang.String getString()
Description copied from class:Value
Get the value as a string.
-
getSQL
public java.lang.StringBuilder getSQL(java.lang.StringBuilder builder, int sqlFlags)
Description copied from interface:HasSQL
Appends the SQL statement of this object to the specified builder.- Parameters:
builder
- string buildersqlFlags
- formatting flags- Returns:
- the specified string builder
-
getSQL
private java.lang.StringBuilder getSQL(java.lang.StringBuilder builder)
-
getValueType
public int getValueType()
Description copied from class:Value
Get the value type.- Specified by:
getValueType
in classValue
- Returns:
- the value type
-
add
public Value add(Value v)
Description copied from class:Value
Add a value and return the result.
-
subtract
public Value subtract(Value v)
Description copied from class:Value
Subtract a value and return the result.
-
negate
public Value negate()
Description copied from class:Value
Return -value if this value support arithmetic operations.
-
multiply
public Value multiply(Value v)
Description copied from class:Value
Multiply with a value and return the result.
-
divide
public Value divide(Value v, TypeInfo quotientType)
Description copied from class:Value
Divide by a value and return the result.
-
divide
public static ValueDecfloat divide(java.math.BigDecimal dividend, java.math.BigDecimal divisor, TypeInfo quotientType)
Divides toBigDecimal
values and returns aDECFLOAT
result of the specified data type.- Parameters:
dividend
- the dividenddivisor
- the divisorquotientType
- the type of quotient- Returns:
- the quotient
-
modulus
public Value modulus(Value v)
Description copied from class:Value
Take the modulus with a value and return the result.
-
compareTypeSafe
public int compareTypeSafe(Value o, CompareMode mode, CastDataProvider provider)
Description copied from class:Value
Compare this value against another value given that the values are of the same data type.- Specified by:
compareTypeSafe
in classValue
- Parameters:
o
- the other valuemode
- the compare modeprovider
- the cast information provider- Returns:
- 0 if both values are equal, -1 if the other value is smaller, and 1 otherwise
-
getBigDecimal
public java.math.BigDecimal getBigDecimal()
- Overrides:
getBigDecimal
in classValue
-
getFloat
public float getFloat()
Description copied from class:Value
Returns this value as a Javafloat
value.
-
getDouble
public double getDouble()
Description copied from class:Value
Returns this value as a Javadouble
value.
-
equals
public boolean equals(java.lang.Object other)
Description copied from class:Value
Check if the two values have the same hash code. No data conversion is made; this method returns false if the other object is not of the same class. For some values, compareTo may return 0 even if equals return false. Example: ValueDecimal 0.0 and 0.00.
-
getMemory
public int getMemory()
Description copied from class:Value
Get the memory used by this object.
-
isFinite
public boolean isFinite()
Returnstrue
, if this value is finite.- Returns:
true
, if this value is finite,false
otherwise
-
get
public static ValueDecfloat get(java.math.BigDecimal dec)
Get or create a DECFLOAT value for the given big decimal.- Parameters:
dec
- the big decimal- Returns:
- the value
-
-