org.hsqldb.types
Class CharacterType
- java.lang.Object
-
- org.hsqldb.types.Type
-
- org.hsqldb.types.CharacterType
-
- All Implemented Interfaces:
- java.lang.Cloneable, SchemaObject
- Direct Known Subclasses:
- ClobType
public class CharacterType extends Type
Type subclass for CHARACTER, VARCHAR, etc.- 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 static longmaxCharPrecision-
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
-
-
Constructor Summary
Constructors Constructor and Description CharacterType(Collation collation, int type, long precision)CharacterType(int type, long precision)Always ASCII collation
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method and Description booleanacceptsPrecision()booleancanConvertFrom(Type otherType)intcanMoveFrom(Type otherType)Can convert without changing the objectjava.lang.ObjectcastOrConvertToType(SessionInterface session, java.lang.Object a, Type otherType, boolean cast)java.lang.ObjectcastToType(SessionInterface session, java.lang.Object a, Type otherType)Explicit casts are handled by this method.intcompare(Session session, java.lang.Object a, java.lang.Object b)intcompare(Session session, java.lang.Object a, java.lang.Object b, int opType)java.lang.Objectconcat(Session session, java.lang.Object a, java.lang.Object b)java.lang.ObjectconvertJavaToSQL(SessionInterface session, java.lang.Object a)java.lang.ObjectconvertToDefaultType(SessionInterface session, java.lang.Object a)Relaxes SQL parameter type enforcement, allowing long strings.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.ObjectconvertToTypeJDBC(SessionInterface session, java.lang.Object a, Type otherType)Convert type for JDBC reads.java.lang.ObjectconvertToTypeLimits(SessionInterface session, java.lang.Object a)intdisplaySize()TypegetAggregateType(Type other)Common type used in comparison opertions.CharsetgetCharacterSet()static CharacterTypegetCharacterType(int type, long length)static CharacterTypegetCharacterType(int type, long length, Collation collation)TypegetCharacterType(long length)CollationgetCollation()TypegetCombinedType(Session session, Type other, int operation)For concatenationjava.lang.StringgetDefinition()Returns the full definition of the type, including parametersjava.lang.StringgetFullNameString()Returns the name of the typejava.lang.ClassgetJDBCClass()java.lang.StringgetJDBCClassName()Returns the JDBC class name of type, if it exists, otherwise the HSQLDB class name.intgetJDBCTypeCode()Returns the JDBC type number of type, if it exists, otherwise the HSQLDB / SQL type.longgetMaxPrecision()java.lang.StringgetNameString()Returns the name of the typestatic intgetRightTrimSise(java.lang.String s, char trim)intgetSQLGenericTypeCode()Returns the generic SQL CLI type number of type, if it exists, otherwise the HSQLDB type.booleanisCharacterType()java.lang.Objectlower(Session session, java.lang.Object data)java.lang.Booleanmatch(Session session, java.lang.String string, java.lang.String[] array)Matches the string against array containing part strings.java.lang.Objectoverlay(SessionInterface session, java.lang.Object data, java.lang.Object overlay, long offset, long length, boolean hasLength)longposition(SessionInterface session, java.lang.Object data, java.lang.Object otherData, Type otherType, long offset)intprecedenceDegree(Type other)booleanrequiresPrecision()longsize(SessionInterface session, java.lang.Object data)java.lang.Objectsubstring(SessionInterface session, java.lang.Object data, long offset, long length, boolean hasLength, boolean trailing)java.lang.Objecttrim(SessionInterface session, java.lang.Object data, char trim, boolean leading, boolean trailing)java.lang.Objectupper(Session session, java.lang.Object data)Memory limits apply to Upper and Lower implementations with Clob data-
Methods inherited from class org.hsqldb.types.Type
absolute, acceptsFractionalPrecision, acceptsScale, add, arrayLimitCardinality, canBeAssignedFrom, cardinality, collectionBaseType, compare, compareToTypeRange, compile, convertSQLToJava, divide, duplicate, equals, getAggregateType, getCatalogName, getChangeTimestamp, getComponents, getDefaultArrayType, getDefaultType, getDefaultTypeWithSize, getHSQLDBTypeCode, getJDBCPrecision, getJDBCScale, getJDBCTypeCode, getMaxScale, getName, getOwner, getPrecisionRadix, getReferences, getSchemaName, getSQL, getType, getType, getType, getTypeDefinition, getTypeForJDBCConvertToken, getTypeNr, hashCode, isArrayType, isBinaryType, isBitType, isBooleanType, isDateOrTimestampType, isDateTimeType, isDateTimeTypeWithZone, isDecimalType, isDistinctType, isDomainType, isExactNumberType, isIntegralType, isIntervalType, isLobType, isMultisetType, isNumberType, isObjectType, isRowType, isStructuredType, isSupportedSQLType, matches, multiply, negate, newComparator, subtract
-
-
-
-
Field Detail
-
maxCharPrecision
public static final long maxCharPrecision
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
CharacterType
public CharacterType(Collation collation, int type, long precision)
-
CharacterType
public CharacterType(int type, long precision)Always ASCII collation
-
-
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
-
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
-
getFullNameString
public java.lang.String getFullNameString()
Description copied from class:TypeReturns the name of the type- Overrides:
getFullNameStringin classType
-
getDefinition
public java.lang.String getDefinition()
Description copied from class:TypeReturns the full definition of the type, including parameters- Specified by:
getDefinitionin classType
-
isCharacterType
public boolean isCharacterType()
- Overrides:
isCharacterTypein classType
-
getMaxPrecision
public long getMaxPrecision()
- Overrides:
getMaxPrecisionin classType
-
acceptsPrecision
public boolean acceptsPrecision()
- Overrides:
acceptsPrecisionin classType
-
requiresPrecision
public boolean requiresPrecision()
- Overrides:
requiresPrecisionin classType
-
precedenceDegree
public int precedenceDegree(Type other)
- Overrides:
precedenceDegreein 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)
For concatenation- Specified by:
getCombinedTypein classType
-
compare
public int compare(Session session, java.lang.Object a, java.lang.Object b)
-
compare
public int compare(Session session, java.lang.Object a, java.lang.Object b, int opType)
-
convertToTypeLimits
public java.lang.Object convertToTypeLimits(SessionInterface session, java.lang.Object a)
- Specified by:
convertToTypeLimitsin classType
-
castToType
public java.lang.Object castToType(SessionInterface session, java.lang.Object a, Type otherType)
Description copied from class:TypeExplicit casts are handled by this method. SQL standard 6.12 rules for enforcement of size, precision and scale are implemented. For CHARACTER values, it performs truncation in all cases of long strings.- Overrides:
castToTypein classType
-
castOrConvertToType
public java.lang.Object castOrConvertToType(SessionInterface session, java.lang.Object a, Type otherType, boolean cast)
-
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
-
convertToTypeJDBC
public java.lang.Object convertToTypeJDBC(SessionInterface session, java.lang.Object a, Type otherType)
Description copied from class:TypeConvert type for JDBC reads. Same as convertToType, but supports non-standard SQL conversions supported by JDBC- Overrides:
convertToTypeJDBCin classType
-
convertToDefaultType
public java.lang.Object convertToDefaultType(SessionInterface session, java.lang.Object a)
Relaxes SQL parameter type enforcement, allowing long strings.- 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
-
getCollation
public Collation getCollation()
- Overrides:
getCollationin classType
-
getCharacterSet
public Charset getCharacterSet()
- Overrides:
getCharacterSetin classType
-
position
public long position(SessionInterface session, java.lang.Object data, java.lang.Object otherData, Type otherType, long offset)
-
substring
public java.lang.Object substring(SessionInterface session, java.lang.Object data, long offset, long length, boolean hasLength, boolean trailing)
-
upper
public java.lang.Object upper(Session session, java.lang.Object data)
Memory limits apply to Upper and Lower implementations with Clob data
-
lower
public java.lang.Object lower(Session session, java.lang.Object data)
-
trim
public java.lang.Object trim(SessionInterface session, java.lang.Object data, char trim, boolean leading, boolean trailing)
-
overlay
public java.lang.Object overlay(SessionInterface session, java.lang.Object data, java.lang.Object overlay, long offset, long length, boolean hasLength)
-
concat
public java.lang.Object concat(Session session, java.lang.Object a, java.lang.Object b)
-
size
public long size(SessionInterface session, java.lang.Object data)
-
match
public java.lang.Boolean match(Session session, java.lang.String string, java.lang.String[] array)
Matches the string against array containing part strings. Null element in array indicates skip one character. Empty string in array indicates skip any number of characters.
-
getCharacterType
public Type getCharacterType(long length)
-
getRightTrimSise
public static int getRightTrimSise(java.lang.String s, char trim)
-
getCharacterType
public static CharacterType getCharacterType(int type, long length)
-
getCharacterType
public static CharacterType getCharacterType(int type, long length, Collation collation)
-
-
DataMelt 3.0 © DataMelt by jWork.ORG