Top Description Fields Constructors Methods
org.h2.value

public final Class ValueInterval

extends Value
Class Inheritance
Static Imports
org.h2.util.DateTimeUtils.NANOS_PER_DAY, .DateTimeUtils.NANOS_PER_HOUR, .DateTimeUtils.NANOS_PER_MINUTE, .DateTimeUtils.NANOS_PER_SECOND

Implementation of the INTERVAL data type.

Field Summary

Modifier and TypeField and Description
public static final int
DEFAULT_PRECISION

The default leading field precision for intervals.

public static final int
DEFAULT_SCALE

The default scale for intervals with seconds.

private final long
public static final int
MAXIMUM_PRECISION

The maximum leading field precision for intervals.

public static final int
MAXIMUM_SCALE

The maximum scale for intervals with seconds.

private static final long[]
private final boolean
private final long
private final int
Inherited from org.h2.value.Value:
ARRAYASSIGN_TOBIGINTBINARYBLOBBOOLEANCAST_TOCHARCLOBCONVERT_TODATEDECFLOATDOUBLEEMPTY_VALUESENUMGEOMETRYGROUP_BINARY_STRINGGROUP_BOOLEANGROUP_CHARACTER_STRINGGROUP_COLLECTIONGROUP_DATETIMEGROUP_INTERVAL_DTGROUP_INTERVAL_YMGROUP_NULLGROUP_NUMERICGROUP_OTHERGROUPSINTEGERINTERVAL_DAYINTERVAL_DAY_TO_HOURINTERVAL_DAY_TO_MINUTEINTERVAL_DAY_TO_SECONDINTERVAL_HOURINTERVAL_HOUR_TO_MINUTEINTERVAL_HOUR_TO_SECONDINTERVAL_MINUTEINTERVAL_MINUTE_TO_SECONDINTERVAL_MONTHINTERVAL_SECONDINTERVAL_YEARINTERVAL_YEAR_TO_MONTHJAVA_OBJECTJSONMAX_LONG_DECIMALMIN_LONG_DECIMALNULLNUMERICREALROWSMALLINTTIMETIME_TZTIMESTAMPTIMESTAMP_TZTINYINTTYPE_COUNTUNKNOWNUUIDVARBINARYVARCHARVARCHAR_IGNORECASE

Constructor Summary

AccessConstructor and Description
private
ValueInterval(int type, boolean negative, long leading, long remaining)

Method Summary

Modifier and TypeMethod and Description
public Value
add(Value
the value to add
v
)

Overrides org.h2.value.Value.add.

Add a value and return the result.

pack-priv boolean

Returns:

true if the precision of this value is smaller or equal to the given precision
checkPrecision
(long
the maximum precision
prec
)

Check if the precision is smaller or equal than the given precision.

public int
compareTypeSafe(Value
the other value
v
,
CompareMode
the compare mode
mode
,
CastDataProvider
the cast information provider
provider
)

Implements abstract org.h2.value.Value.compareTypeSafe.

Compare this value against another value given that the values are of the same data type.

public boolean
equals(Object
the other value
obj
)

Implements abstract org.h2.value.Value.equals.

Check if the two values have the same hash code.

public static ValueInterval

Returns:

interval value
from
(IntervalQualifier
qualifier
qualifier
,
boolean
whether interval is negative
negative
,
long
value of leading field
leading
,
long
values of all remaining fields
remaining
)

Create a ValueInterval instance.

public BigDecimal
public static int

Returns:

display size
getDisplaySize
(int
the value type
type
,
int
leading field precision
precision
,
int
fractional seconds precision. Ignored if specified type of interval does not have seconds.
scale
)

Returns display size for the specified qualifier, precision and fractional seconds precision.

public double
getDouble()

Overrides org.h2.value.Value.getDouble.

Returns this value as a Java double value.

public float
getFloat()

Overrides org.h2.value.Value.getFloat.

Returns this value as a Java float value.

public Interval

Returns:

the interval
getInterval
()

Returns the interval.

public long

Returns:

value of leading field
getLeading
()

Returns value of leading field of this interval.

public long
getLong()

Overrides org.h2.value.Value.getLong.

Returns this value as a Java long value.

public int
getMemory()

Overrides org.h2.value.Value.getMemory.

Get the memory used by this object.

public IntervalQualifier

Returns:

the interval qualifier
getQualifier
()

Returns the interval qualifier.

public long

Returns:

combined value of remaining fields
getRemaining
()

Returns combined value of remaining fields of this interval.

public int
public StringBuilder
getSQL(StringBuilder
string builder
builder
,
int
formatting flags
sqlFlags
)

Implements org.h2.util.HasSQL.getSQL.

Appends the SQL statement of this object to the specified builder.

public String
getString()

Implements abstract org.h2.value.Value.getString.

Get the value as a string.

public TypeInfo
getType()

Implements abstract org.h2.value.Value.getType.

Implements org.h2.value.Typed.getType.

Returns the data type.

public int
getValueType()

Implements abstract org.h2.value.Value.getValueType.

Get the value type.

public int
hashCode()

Implements abstract org.h2.value.Value.hashCode.

Returns a hash code value for this object.

public boolean

Returns:

where the interval is negative
isNegative
()

Returns where the interval is negative.

public Value
negate()

Overrides org.h2.value.Value.negate.

Return -value if this value support arithmetic operations.

pack-priv ValueInterval
setPrecisionAndScale(TypeInfo targetType, Object column)

public Value
subtract(Value
the value to subtract
v
)

Overrides org.h2.value.Value.subtract.

Subtract a value and return the result.

Inherited from org.h2.value.Value:
cachecastTocharLengthclearCachecompareTocompareWithNullcontainsNullconvertForAssignToconvertToconvertToconvertToconvertToconvertToconvertToAnyArrayconvertToAnyJsonconvertToAnyRowconvertToBigintconvertToBooleanconvertToCharconvertToDateconvertToDoubleconvertToEnumconvertToGeometryconvertToIntconvertToIntconvertToJavaObjectconvertToJsonconvertToLongconvertToRealconvertToSmallintconvertToTinyintconvertToUuiddividegetBooleangetBytegetBytesgetBytesNoCopygetDataConversionErrorgetDataConversionErrorgetHigherOrdergetHigherOrderKnowngetInputStreamgetInputStreamgetIntgetReadergetReadergetShortgetTypeNamegetUnsupportedExceptionForOperationgetValueTooLongExceptiongetValueWithFirstNullgetValueWithFirstNullImplisFalseisTruemodulusmultiplyoctetLengthrangeChecktoString

Field Detail

DEFAULT_PRECISIONback to summary
public static final int DEFAULT_PRECISION

The default leading field precision for intervals.

DEFAULT_SCALEback to summary
public static final int DEFAULT_SCALE

The default scale for intervals with seconds.

leadingback to summary
private final long leading
MAXIMUM_PRECISIONback to summary
public static final int MAXIMUM_PRECISION

The maximum leading field precision for intervals.

MAXIMUM_SCALEback to summary
public static final int MAXIMUM_SCALE

The maximum scale for intervals with seconds.

MULTIPLIERSback to summary
private static final long[] MULTIPLIERS
negativeback to summary
private final boolean negative
remainingback to summary
private final long remaining
valueTypeback to summary
private final int valueType

Constructor Detail

ValueIntervalback to summary
private ValueInterval(int type, boolean negative, long leading, long remaining)

Method Detail

addback to summary
public Value add(Value v)

Overrides org.h2.value.Value.add.

Doc from org.h2.value.Value.add.

Add a value and return the result.

Parameters
v:Value

the value to add

Returns:Value

the result

Annotations
@Override
checkPrecisionback to summary
pack-priv boolean checkPrecision(long prec)

Check if the precision is smaller or equal than the given precision.

Parameters
prec:long

the maximum precision

Returns:boolean

true if the precision of this value is smaller or equal to the given precision

compareTypeSafeback to summary
public int compareTypeSafe(Value v, CompareMode mode, CastDataProvider provider)

Implements abstract org.h2.value.Value.compareTypeSafe.

Doc from org.h2.value.Value.compareTypeSafe.

Compare this value against another value given that the values are of the same data type.

Parameters
v:Value

the other value

mode:CompareMode

the compare mode

provider:CastDataProvider

the cast information provider

Returns:int

0 if both values are equal, -1 if the other value is smaller, and 1 otherwise

Annotations
@Override
equalsback to summary
public boolean equals(Object obj)

Implements abstract org.h2.value.Value.equals.

Doc from org.h2.value.Value.equals.

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.

Parameters
obj:Object

the other value

Returns:boolean

true if they are equal

Annotations
@Override
fromback to summary
public static ValueInterval from(IntervalQualifier qualifier, boolean negative, long leading, long remaining)

Create a ValueInterval instance.

Parameters
qualifier:IntervalQualifier

qualifier

negative:boolean

whether interval is negative

leading:long

value of leading field

remaining:long

values of all remaining fields

Returns:ValueInterval

interval value

getBigDecimalback to summary
public BigDecimal getBigDecimal()

Overrides org.h2.value.Value.getBigDecimal.

Annotations
@Override
getDisplaySizeback to summary
public static int getDisplaySize(int type, int precision, int scale)

Returns display size for the specified qualifier, precision and fractional seconds precision.

Parameters
type:int

the value type

precision:int

leading field precision

scale:int

fractional seconds precision. Ignored if specified type of interval does not have seconds.

Returns:int

display size

getDoubleback to summary
public double getDouble()

Overrides org.h2.value.Value.getDouble.

Doc from org.h2.value.Value.getDouble.

Returns this value as a Java double value.

Returns:double

value

Annotations
@Override
getFloatback to summary
public float getFloat()

Overrides org.h2.value.Value.getFloat.

Doc from org.h2.value.Value.getFloat.

Returns this value as a Java float value.

Returns:float

value

Annotations
@Override
getIntervalback to summary
public Interval getInterval()

Returns the interval.

Returns:Interval

the interval

getLeadingback to summary
public long getLeading()

Returns value of leading field of this interval. For SECOND intervals returns integer part of seconds.

Returns:long

value of leading field

getLongback to summary
public long getLong()

Overrides org.h2.value.Value.getLong.

Doc from org.h2.value.Value.getLong.

Returns this value as a Java long value.

Returns:long

value

Annotations
@Override
getMemoryback to summary
public int getMemory()

Overrides org.h2.value.Value.getMemory.

Doc from org.h2.value.Value.getMemory.

Get the memory used by this object.

Returns:int

the memory used in bytes

Annotations
@Override
getQualifierback to summary
public IntervalQualifier getQualifier()

Returns the interval qualifier.

Returns:IntervalQualifier

the interval qualifier

getRemainingback to summary
public long getRemaining()

Returns combined value of remaining fields of this interval. For SECOND intervals returns nanoseconds.

Returns:long

combined value of remaining fields

getSignumback to summary
public int getSignum()

Overrides org.h2.value.Value.getSignum.

Annotations
@Override
getSQLback to summary
public StringBuilder getSQL(StringBuilder builder, int sqlFlags)

Implements org.h2.util.HasSQL.getSQL.

Doc from org.h2.util.HasSQL.getSQL.

Appends the SQL statement of this object to the specified builder.

Parameters
builder:StringBuilder

string builder

sqlFlags:int

formatting flags

Returns:StringBuilder

the specified string builder

Annotations
@Override
getStringback to summary
public String getString()

Implements abstract org.h2.value.Value.getString.

Doc from org.h2.value.Value.getString.

Get the value as a string.

Returns:String

the string

Annotations
@Override
getTypeback to summary
public TypeInfo getType()

Implements abstract org.h2.value.Value.getType.

Implements org.h2.value.Typed.getType.

Doc from org.h2.value.Typed.getType.

Returns the data type.

Returns:TypeInfo

the data type

Annotations
@Override
getValueTypeback to summary
public int getValueType()

Implements abstract org.h2.value.Value.getValueType.

Doc from org.h2.value.Value.getValueType.

Get the value type.

Returns:int

the value type

Annotations
@Override
hashCodeback to summary
public int hashCode()

Implements abstract org.h2.value.Value.hashCode.

Doc from java.lang.Object.hashCode.

Returns a hash code value for this object. This method is supported for the benefit of hash tables such as those provided by java.util.HashMap.

The general contract of hashCode is:

  • Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
  • If two objects are equal according to the equals method, then calling the hashCode method on each of the two objects must produce the same integer result.
  • It is not required that if two objects are unequal according to the equals method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.
Returns:int

a hash code value for this object

Annotations
@Override
isNegativeback to summary
public boolean isNegative()

Returns where the interval is negative.

Returns:boolean

where the interval is negative

negateback to summary
public Value negate()

Overrides org.h2.value.Value.negate.

Doc from org.h2.value.Value.negate.

Return -value if this value support arithmetic operations.

Returns:Value

the negative

Annotations
@Override
setPrecisionAndScaleback to summary
pack-priv ValueInterval setPrecisionAndScale(TypeInfo targetType, Object column)
subtractback to summary
public Value subtract(Value v)

Overrides org.h2.value.Value.subtract.

Doc from org.h2.value.Value.subtract.

Subtract a value and return the result.

Parameters
v:Value

the value to subtract

Returns:Value

the result

Annotations
@Override