org.hsqldb.types
Class IntervalType
- java.lang.Object
-
- org.hsqldb.types.Type
-
- org.hsqldb.types.DTIType
-
- org.hsqldb.types.IntervalType
-
- All Implemented Interfaces:
- java.lang.Cloneable, SchemaObject
public final class IntervalType extends DTIType
Type subclass for various typs of INTERVAL.- Since:
- 1.9.0
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.hsqldb.types.Type
Type.TypedComparator
-
Nested classes/interfaces inherited from interface org.hsqldb.SchemaObject
SchemaObject.ConstraintTypes, SchemaObject.Deferable, SchemaObject.Nullability, SchemaObject.ParameterModes, SchemaObject.ReferentialAction, SchemaObject.ViewCheckModes
-
-
Field Summary
Fields Modifier and Type Field and Description booleandefaultPrecisionstatic NumberTypefactorTypebooleanisYearMonth-
Fields inherited from class org.hsqldb.types.DTIType
DAY_NAME, DAY_OF_MONTH, DAY_OF_WEEK, DAY_OF_YEAR, defaultIntervalFractionPrecision, defaultIntervalPrecision, defaultTimeFractionPrecision, defaultTimestampFractionPrecision, endIntervalType, endPartIndex, INTERVAL_FRACTION_PART_INDEX, INTERVAL_MONTH_INDEX, INTERVAL_SECOND_INDEX, ISO_YEAR, limitNanoseconds, maxFractionPrecision, maxIntervalPrecision, maxIntervalSecondPrecision, MONTH_NAME, nanoScaleFactors, precisionFactors, precisionLimits, QUARTER, SECONDS_MIDNIGHT, startIntervalType, startPartIndex, TIMEZONE_HOUR, TIMEZONE_MINUTE, timezoneSecondsLimit, WEEK_OF_YEAR, yearToSecondFactors, yearToSecondLimits, yearToSecondSeparators
-
Fields inherited from class org.hsqldb.types.Type
emptyArray, jdbcConvertTypes, OTHER, precision, scale, SQL_ALL_TYPES, SQL_ARRAY_ALL_TYPES, SQL_BIGINT, SQL_BINARY, SQL_BINARY_16, SQL_BINARY_DEFAULT, SQL_BIT, SQL_BIT_VARYING, SQL_BIT_VARYING_MAX_LENGTH, SQL_BLOB, SQL_BOOLEAN, SQL_CHAR, SQL_CHAR_16, SQL_CHAR_DEFAULT, SQL_CLOB, SQL_DATE, SQL_DECIMAL, SQL_DECIMAL_BIGINT_SQR, SQL_DECIMAL_DEFAULT, SQL_DOUBLE, SQL_INTEGER, SQL_INTERVAL_DAY, SQL_INTERVAL_DAY_MAX_PRECISION, SQL_INTERVAL_DAY_TO_HOUR, SQL_INTERVAL_DAY_TO_MINUTE, SQL_INTERVAL_DAY_TO_SECOND, SQL_INTERVAL_DAY_TO_SECOND_MAX_PRECISION, SQL_INTERVAL_HOUR, SQL_INTERVAL_HOUR_MAX_PRECISION, SQL_INTERVAL_HOUR_TO_MINUTE, SQL_INTERVAL_HOUR_TO_SECOND, SQL_INTERVAL_MINUTE, SQL_INTERVAL_MINUTE_MAX_PRECISION, SQL_INTERVAL_MINUTE_TO_SECOND, SQL_INTERVAL_MONTH, SQL_INTERVAL_MONTH_MAX_PRECISION, SQL_INTERVAL_SECOND, SQL_INTERVAL_SECOND_MAX_FRACTION, SQL_INTERVAL_SECOND_MAX_FRACTION_MAX_PRECISION, SQL_INTERVAL_SECOND_MAX_PRECISION, SQL_INTERVAL_YEAR, SQL_INTERVAL_YEAR_MAX_PRECISION, SQL_INTERVAL_YEAR_TO_MONTH, SQL_INTERVAL_YEAR_TO_MONTH_MAX_PRECISION, SQL_NUMERIC, SQL_SMALLINT, SQL_TIME, SQL_TIME_WITH_TIME_ZONE, SQL_TIMESTAMP, SQL_TIMESTAMP_NO_FRACTION, SQL_TIMESTAMP_WITH_TIME_ZONE, SQL_VARBINARY, SQL_VARBINARY_DEFAULT, SQL_VARCHAR, SQL_VARCHAR_DEFAULT, TINYINT, typeAliases, typeCode, typeComparisonGroup, typeDataGroup, typeNames, userTypeModifier
-
Fields inherited from interface org.hsqldb.SchemaObject
ASSERTION, CATALOG, CHARSET, COLLATION, COLUMN, CONSTRAINT, CURSOR, DOMAIN, FUNCTION, GRANTEE, INDEX, LABEL, PARAMETER, PROCEDURE, ROUTINE, SCHEMA, SEARCH, SEQUENCE, SERVER, SPECIFIC_ROUTINE, SUBQUERY, TABLE, TRANSITION, TRIGGER, TYPE, VARIABLE, VIEW, WRAPPER
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method and Description java.lang.Objectabsolute(java.lang.Object a)All arithmetic ops are called on the pre-determined Type object of the resultbooleanacceptsFractionalPrecision()booleanacceptsPrecision()java.lang.Objectadd(Session session, java.lang.Object a, java.lang.Object b, Type otherType)booleancanConvertFrom(Type otherType)intcanMoveFrom(Type otherType)Can convert without changing the objectintcompare(Session session, java.lang.Object a, java.lang.Object b)intcompareToTypeRange(java.lang.Object o)java.lang.ObjectconvertJavaToSQL(SessionInterface session, java.lang.Object a)java.lang.ObjectconvertToDefaultType(SessionInterface session, java.lang.Object a)Converts the object to the given type without limit checks.doubleconvertToDoubleStartUnits(java.lang.Object interval)longconvertToLongEndUnits(java.lang.Object interval)java.lang.StringconvertToSQLString(java.lang.Object a)java.lang.StringconvertToString(java.lang.Object a)java.lang.ObjectconvertToType(SessionInterface session, java.lang.Object a, Type otherType)Same as castToType except for CHARACTER values.java.lang.ObjectconvertToTypeLimits(SessionInterface session, java.lang.Object a)intdisplaySize()java.lang.Objectdivide(Session session, java.lang.Object a, java.lang.Object b)TypegetAggregateType(Type other)Common type used in comparison opertions.CharacterTypegetCharacterType()static TypegetCombinedIntervalType(IntervalType type1, IntervalType type2)static intgetCombinedIntervalType(int startType, int endType)TypegetCombinedType(Session session, Type other, int operation)Result type of combining values of two types in different opertions.java.lang.StringgetDefinition()Returns the full definition of the type, including parametersintgetEndIntervalType()static intgetEndIntervalType(int type)static IntervalTypegetIntervalType(IntervalType type, long precision, int fractionalPrecision)static IntervalTypegetIntervalType(int type, int startType, int endType, long precision, int fractionPrecision, boolean defaultPrecision)static IntervalTypegetIntervalType(int startIndex, int endIndex, long precision, int fractionPrecision)static IntervalTypegetIntervalType(int type, long precision, int fractionPrecision)static intgetIntervalType(java.lang.String part)java.lang.ClassgetJDBCClass()java.lang.StringgetJDBCClassName()Returns the JDBC class name of type, if it exists, otherwise the HSQLDB class name.intgetJDBCPrecision()intgetJDBCTypeCode()Returns the JDBC type number of type, if it exists, otherwise the HSQLDB / SQL type.java.lang.StringgetNameString()Returns the name of the typeintgetPart(Session session, java.lang.Object interval, int part)static java.lang.StringgetQualifier(int type)java.math.BigDecimalgetSecondPart(java.lang.Object interval)longgetSeconds(java.lang.Object interval)intgetSQLGenericTypeCode()Returns the generic SQL CLI type number of type, if it exists, otherwise the HSQLDB type.intgetStartIntervalType()static intgetStartIntervalType(int type)booleanisDaySecondIntervalType()booleanisIntervalType()booleanisYearMonthIntervalType()java.lang.Objectmultiply(java.lang.Object a, java.lang.Object b)java.lang.Objectnegate(java.lang.Object a)static IntervalTypenewIntervalType(int type, long precision, int fractionPrecision)intprecedenceDegree(Type other)java.lang.Objectsubtract(Session session, java.lang.Object a, java.lang.Object b, Type otherType)-
Methods inherited from class org.hsqldb.types.DTIType
getExtractType, getFieldNameTokenForType, getFieldNameTypeForToken, isValidDatetimeRange, normaliseFraction
-
Methods inherited from class org.hsqldb.types.Type
acceptsScale, arrayLimitCardinality, canBeAssignedFrom, cardinality, castToType, collectionBaseType, compare, compare, compile, concat, convertSQLToJava, convertToTypeJDBC, duplicate, equals, getAggregateType, getCatalogName, getChangeTimestamp, getCharacterSet, getCollation, getComponents, getDefaultArrayType, getDefaultType, getDefaultTypeWithSize, getFullNameString, getHSQLDBTypeCode, getJDBCScale, getJDBCTypeCode, getMaxPrecision, getMaxScale, getName, getOwner, getPrecisionRadix, getReferences, getSchemaName, getSQL, getType, getType, getType, getTypeDefinition, getTypeForJDBCConvertToken, getTypeNr, hashCode, isArrayType, isBinaryType, isBitType, isBooleanType, isCharacterType, isDateOrTimestampType, isDateTimeType, isDateTimeTypeWithZone, isDecimalType, isDistinctType, isDomainType, isExactNumberType, isIntegralType, isLobType, isMultisetType, isNumberType, isObjectType, isRowType, isStructuredType, isSupportedSQLType, matches, newComparator, requiresPrecision
-
-
-
-
Field Detail
-
defaultPrecision
public final boolean defaultPrecision
-
isYearMonth
public final boolean isYearMonth
-
factorType
public static final NumberType factorType
-
-
Method Detail
-
displaySize
public int displaySize()
- Specified by:
displaySizein classType
-
getJDBCTypeCode
public int getJDBCTypeCode()
Description copied from class:TypeReturns the JDBC type number of type, if it exists, otherwise the HSQLDB / SQL type.- Specified by:
getJDBCTypeCodein classType
-
getJDBCClass
public java.lang.Class getJDBCClass()
- Specified by:
getJDBCClassin classType
-
getJDBCClassName
public java.lang.String getJDBCClassName()
Description copied from class:TypeReturns the JDBC class name of type, if it exists, otherwise the HSQLDB class name.- Specified by:
getJDBCClassNamein classType
-
getJDBCPrecision
public int getJDBCPrecision()
- Overrides:
getJDBCPrecisionin classType
-
getSQLGenericTypeCode
public int getSQLGenericTypeCode()
Description copied from class:TypeReturns the generic SQL CLI type number of type, if it exists, otherwise the HSQLDB type. The generic type is returned for DATETIME and INTERVAL types.- Overrides:
getSQLGenericTypeCodein classType
-
getNameString
public java.lang.String getNameString()
Description copied from class:TypeReturns the name of the type- Specified by:
getNameStringin classType
-
getQualifier
public static java.lang.String getQualifier(int type)
-
getDefinition
public java.lang.String getDefinition()
Description copied from class:TypeReturns the full definition of the type, including parameters- Specified by:
getDefinitionin classType
-
isIntervalType
public boolean isIntervalType()
- Overrides:
isIntervalTypein classType
-
isYearMonthIntervalType
public boolean isYearMonthIntervalType()
-
isDaySecondIntervalType
public boolean isDaySecondIntervalType()
-
acceptsPrecision
public boolean acceptsPrecision()
- Overrides:
acceptsPrecisionin classType
-
acceptsFractionalPrecision
public boolean acceptsFractionalPrecision()
- Overrides:
acceptsFractionalPrecisionin classType
-
getAggregateType
public Type getAggregateType(Type other)
Description copied from class:TypeCommon type used in comparison opertions. other must be comparable with this.- Specified by:
getAggregateTypein classType
-
getCombinedType
public Type getCombinedType(Session session, Type other, int operation)
Description copied from class:TypeResult type of combining values of two types in different opertions. other type is not allways comparable with this, but a operation should be valid without any explicit CAST- Specified by:
getCombinedTypein classType
-
compare
public int compare(Session session, java.lang.Object a, java.lang.Object b)
-
convertToTypeLimits
public java.lang.Object convertToTypeLimits(SessionInterface session, java.lang.Object a)
- Specified by:
convertToTypeLimitsin classType
-
convertToType
public java.lang.Object convertToType(SessionInterface session, java.lang.Object a, Type otherType)
Description copied from class:TypeSame as castToType except for CHARACTER values. Perform string truncation of trailing spaces only. For other long strings, it raises an exception.- Specified by:
convertToTypein classType
-
convertToDefaultType
public java.lang.Object convertToDefaultType(SessionInterface session, java.lang.Object a)
Description copied from class:TypeConverts the object to the given type without limit checks. Used for JDBC writes.- Specified by:
convertToDefaultTypein classType
-
convertJavaToSQL
public java.lang.Object convertJavaToSQL(SessionInterface session, java.lang.Object a)
- Overrides:
convertJavaToSQLin classType
-
convertToString
public java.lang.String convertToString(java.lang.Object a)
- Specified by:
convertToStringin classType
-
convertToSQLString
public java.lang.String convertToSQLString(java.lang.Object a)
- Specified by:
convertToSQLStringin classType
-
canConvertFrom
public boolean canConvertFrom(Type otherType)
- Specified by:
canConvertFromin classType
-
canMoveFrom
public int canMoveFrom(Type otherType)
Description copied from class:TypeCan convert without changing the object- Overrides:
canMoveFromin classType- Returns:
- 0 always, 1 range check required, -1 never
-
compareToTypeRange
public int compareToTypeRange(java.lang.Object o)
- Overrides:
compareToTypeRangein classType
-
absolute
public java.lang.Object absolute(java.lang.Object a)
Description copied from class:TypeAll arithmetic ops are called on the pre-determined Type object of the result
-
add
public java.lang.Object add(Session session, java.lang.Object a, java.lang.Object b, Type otherType)
-
subtract
public java.lang.Object subtract(Session session, java.lang.Object a, java.lang.Object b, Type otherType)
-
multiply
public java.lang.Object multiply(java.lang.Object a, java.lang.Object b)
-
divide
public java.lang.Object divide(Session session, java.lang.Object a, java.lang.Object b)
-
precedenceDegree
public int precedenceDegree(Type other)
- Overrides:
precedenceDegreein classType
-
getStartIntervalType
public int getStartIntervalType()
- Overrides:
getStartIntervalTypein classDTIType
-
getEndIntervalType
public int getEndIntervalType()
- Overrides:
getEndIntervalTypein classDTIType
-
newIntervalType
public static IntervalType newIntervalType(int type, long precision, int fractionPrecision)
-
getIntervalType
public static IntervalType getIntervalType(IntervalType type, long precision, int fractionalPrecision)
-
getIntervalType
public static IntervalType getIntervalType(int type, long precision, int fractionPrecision)
-
getIntervalType
public static IntervalType getIntervalType(int startIndex, int endIndex, long precision, int fractionPrecision)
-
getIntervalType
public static IntervalType getIntervalType(int type, int startType, int endType, long precision, int fractionPrecision, boolean defaultPrecision)
-
getStartIntervalType
public static int getStartIntervalType(int type)
-
getEndIntervalType
public static int getEndIntervalType(int type)
-
getCombinedIntervalType
public static Type getCombinedIntervalType(IntervalType type1, IntervalType type2)
-
getCombinedIntervalType
public static int getCombinedIntervalType(int startType, int endType)
-
getIntervalType
public static int getIntervalType(java.lang.String part)
-
getPart
public int getPart(Session session, java.lang.Object interval, int part)
-
getSeconds
public long getSeconds(java.lang.Object interval)
-
getSecondPart
public java.math.BigDecimal getSecondPart(java.lang.Object interval)
- Specified by:
getSecondPartin classDTIType
-
convertToLongEndUnits
public long convertToLongEndUnits(java.lang.Object interval)
-
convertToDoubleStartUnits
public double convertToDoubleStartUnits(java.lang.Object interval)
-
getCharacterType
public CharacterType getCharacterType()
-
-
DataMelt 3.0 © DataMelt by jWork.ORG