Top Description Fields Constructors Methods
org.hsqldb.types

public abstract Class DTIType

extends Type
Class Inheritance
Known Direct Subclasses
org.hsqldb.types.IntervalType, org.hsqldb.types.DateTimeType
Imports
java.math.BigDecimal, org.hsqldb.Session, .Tokens, org.hsqldb.error.Error, .ErrorCode, org.hsqldb.lib.IntKeyIntValueHashMap

Common elements for Type instances for DATETIME and INTERVAL.
Author
Fred Toussi (fredt@users dot sourceforge.net)
Since
1.9.0
Version
2.7.3

Field Summary

Modifier and TypeField and Description
public static final int
public static final int
public static final int
public static final int
public final int
public final int
public static final int
public static final int
public static final int
pack-priv static final IntKeyIntValueHashMap
pack-priv static final int[]
pack-priv static final int[][]
public static final int
public static final int
public static final int
public static final int
public static final long
pack-priv static final int[]
public static final long
public static final long
pack-priv static final int[]
public static final long[]
public static final int
public final int
public final int
public static final int
public static final int[]
public static final int[]
public static final byte[]
Inherited from org.hsqldb.types.Type:
emptyArrayjdbcConvertTypesOTHERprecisionscaleSQL_ALL_TYPESSQL_ARRAY_ALL_TYPESSQL_BIGINTSQL_BINARYSQL_BINARY_16SQL_BINARY_DEFAULTSQL_BITSQL_BIT_VARYINGSQL_BIT_VARYING_MAX_LENGTHSQL_BLOBSQL_BOOLEANSQL_CHARSQL_CHAR_DEFAULTSQL_CHAR_UUIDSQL_CLOBSQL_DATESQL_DECIMALSQL_DECIMAL_BIGINT_SQRSQL_DECIMAL_DEFAULTSQL_DOUBLESQL_GUIDSQL_INTEGERSQL_INTERVAL_DAYSQL_INTERVAL_DAY_MAX_PRECISIONSQL_INTERVAL_DAY_TO_HOURSQL_INTERVAL_DAY_TO_MINUTESQL_INTERVAL_DAY_TO_SECONDSQL_INTERVAL_DAY_TO_SECOND_MAX_PRECISIONSQL_INTERVAL_HOURSQL_INTERVAL_HOUR_MAX_PRECISIONSQL_INTERVAL_HOUR_TO_MINUTESQL_INTERVAL_HOUR_TO_SECONDSQL_INTERVAL_MINUTESQL_INTERVAL_MINUTE_MAX_PRECISIONSQL_INTERVAL_MINUTE_TO_SECONDSQL_INTERVAL_MONTHSQL_INTERVAL_MONTH_MAX_PRECISIONSQL_INTERVAL_SECONDSQL_INTERVAL_SECOND_MAX_FRACTIONSQL_INTERVAL_SECOND_MAX_FRACTION_MAX_PRECISIONSQL_INTERVAL_SECOND_MAX_PRECISIONSQL_INTERVAL_YEARSQL_INTERVAL_YEAR_MAX_PRECISIONSQL_INTERVAL_YEAR_TO_MONTHSQL_INTERVAL_YEAR_TO_MONTH_MAX_PRECISIONSQL_NUMERICSQL_SMALLINTSQL_TIMESQL_TIME_MAXSQL_TIME_WITH_TIME_ZONESQL_TIME_WITH_TIME_ZONE_MAXSQL_TIMESTAMPSQL_TIMESTAMP_NO_FRACTIONSQL_TIMESTAMP_WITH_TIME_ZONESQL_TIMESTAMP_WITH_TIME_ZONE_MAXSQL_VARBINARYSQL_VARBINARY_DEFAULTSQL_VARCHARSQL_VARCHAR_DEFAULTSQL_VARCHAR_LONGTINYINTtypeAliasestypeCodetypeComparisonGrouptypeDataGrouptypeNamesuserTypeModifier

Constructor Summary

AccessConstructor and Description
protected
DTIType(int typeGroup, int type, long precision, int scale, int startIntervalType, int endIntervalType)

protected
DTIType(int typeGroup, int type, long precision, int scale)

Method Summary

Modifier and TypeMethod and Description
public int
public Type
getExtractType(int part)

public static String
public static int
public abstract int
getPart(Session session, Object dateTime, int part)

pack-priv static int
public abstract BigDecimal
getSecondPart(Session session, Object dateTime)

pack-priv BigDecimal
getSecondPart(long seconds, long nanos)

public int
pack-priv String
intervalSecondToString(long seconds, int nanos, boolean signed)

public static boolean
public static int
normaliseFraction(int fraction, int precision)

public static int
normaliseFraction(int fraction, int digits, int precision)

Inherited from org.hsqldb.types.Type:
absoluteacceptsFractionalPrecisionacceptsPrecisionacceptsScaleaddarrayLimitCardinalitycanBeAssignedFromcanCompareDirectcanConvertFromcanMoveFromcardinalitycastToTypecollectionBaseTypecomparecomparecomparecompareToTypeRangecompileconcatconvertJavaToSQLconvertSQLToJavaconvertToDefaultTypeconvertToJSONconvertToJSONconvertToSQLStringconvertToStringconvertToTypeconvertToTypeJDBCconvertToTypeLimitsdisplaySizedivideduplicateequalsgetAggregateTypegetAggregateTypegetCatalogNamegetChangeTimestampgetCharacterSetgetCollationgetCombinedTypegetComponentsgetDefaultArrayTypegetDefaultTypegetDefaultTypeWithSizegetDefinitiongetDegreegetFullNameStringgetHSQLDBTypeCodegetJDBCClassgetJDBCClassNamegetJDBCPrecisiongetJDBCScalegetJDBCTypeCodegetJDBCTypeCodegetMaxPrecisiongetMaxScalegetNamegetNameStringgetOwnergetPrecisionRadixgetReferencesgetSchemaNamegetSQLgetSQLGenericTypeCodegetTypegetTypegetTypegetTypeDefinitiongetTypeForJDBCConvertTokengetTypeNrhashCodehashCodeisArrayTypeisBinaryTypeisBitTypeisBooleanTypeisCharacterTypeisDateOrTimestampTypeisDateTimeTypeisDateTimeTypeWithZoneisDecimalTypeisDistinctTypeisDomainTypeisExactNumberTypeisIntegralTypeisIntervalDaySecondTypeisIntervalTypeisIntervalYearMonthTypeisLobTypeisMultisetTypeisNegativeisNumberTypeisObjectTypeisRowTypeisStructuredTypeisSupportedSQLTypeisTimestampTypeisTimeTypeisUUIDTypematchesmultiplynegateprecedenceDegreerequiresPrecisionsubtract

Field Detail

defaultIntervalFractionPrecisionback to summary
public static final int defaultIntervalFractionPrecision
defaultIntervalPrecisionback to summary
public static final int defaultIntervalPrecision
defaultTimeFractionPrecisionback to summary
public static final int defaultTimeFractionPrecision
defaultTimestampFractionPrecisionback to summary
public static final int defaultTimestampFractionPrecision
endIntervalTypeback to summary
public final int endIntervalType
endPartIndexback to summary
public final int endPartIndex
INTERVAL_FRACTION_PART_INDEXback to summary
public static final int INTERVAL_FRACTION_PART_INDEX
INTERVAL_MONTH_INDEXback to summary
public static final int INTERVAL_MONTH_INDEX
INTERVAL_SECOND_INDEXback to summary
public static final int INTERVAL_SECOND_INDEX
intervalIndexMapback to summary
pack-priv static final IntKeyIntValueHashMap intervalIndexMap
intervalPartsback to summary
pack-priv static final int[] intervalParts
intervalTypesback to summary
pack-priv static final int[][] intervalTypes
limitNanosecondsback to summary
public static final int limitNanoseconds
maxFractionPrecisionback to summary
public static final int maxFractionPrecision
maxIntervalPrecisionback to summary
public static final int maxIntervalPrecision
maxIntervalSecondPrecisionback to summary
public static final int maxIntervalSecondPrecision
millisInSecondback to summary
public static final long millisInSecond
nanoScaleFactorsback to summary
pack-priv static final int[] nanoScaleFactors
nanosInMilliback to summary
public static final long nanosInMilli
nanosInSecondback to summary
public static final long nanosInSecond
precisionFactorsback to summary
pack-priv static final int[] precisionFactors
precisionLimitsback to summary
public static final long[] precisionLimits
secondsInDayback to summary
public static final int secondsInDay
startIntervalTypeback to summary
public final int startIntervalType
startPartIndexback to summary
public final int startPartIndex
timezoneSecondsLimitback to summary
public static final int timezoneSecondsLimit
yearToSecondFactorsback to summary
public static final int[] yearToSecondFactors
yearToSecondLimitsback to summary
public static final int[] yearToSecondLimits
yearToSecondSeparatorsback to summary
public static final byte[] yearToSecondSeparators

Constructor Detail

DTITypeback to summary
protected DTIType(int typeGroup, int type, long precision, int scale, int startIntervalType, int endIntervalType)
DTITypeback to summary
protected DTIType(int typeGroup, int type, long precision, int scale)

Method Detail

getEndIntervalTypeback to summary
public int getEndIntervalType()
getExtractTypeback to summary
public Type getExtractType(int part)
getFieldNameTokenForTypeback to summary
public static String getFieldNameTokenForType(int type)
getFieldNameTypeForTokenback to summary
public static int getFieldNameTypeForToken(int token)
getPartback to summary
public abstract int getPart(Session session, Object dateTime, int part)
getPrecisionExponentback to summary
pack-priv static int getPrecisionExponent(long value)
getSecondPartback to summary
public abstract BigDecimal getSecondPart(Session session, Object dateTime)
getSecondPartback to summary
pack-priv BigDecimal getSecondPart(long seconds, long nanos)
getStartIntervalTypeback to summary
public int getStartIntervalType()
intervalSecondToStringback to summary
pack-priv String intervalSecondToString(long seconds, int nanos, boolean signed)
isValidDatetimeRangeback to summary
public static boolean isValidDatetimeRange(Type a, Type b)
normaliseFractionback to summary
public static int normaliseFraction(int fraction, int precision)
normaliseFractionback to summary
public static int normaliseFraction(int fraction, int digits, int precision)