java.lang.Object
edu.internet2.middleware.grouper.ext.org.apache.ddlutils.PlatformInfo

public class PlatformInfo extends Object
Conatains information about the database platform such as supported features and native type mappings.
Version:
$Revision: 289996 $
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates a new platform info object.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addNativeTypeMapping(int jdbcTypeCode, String nativeType)
    Adds a mapping from jdbc type to database-native type.
    void
    addNativeTypeMapping(int jdbcTypeCode, String nativeType, int targetJdbcTypeCode)
    Adds a mapping from jdbc type to database-native type.
    void
    addNativeTypeMapping(String jdbcTypeName, String nativeType)
    Adds a mapping from jdbc type to database-native type.
    void
    addNativeTypeMapping(String jdbcTypeName, String nativeType, String targetJdbcTypeName)
    Adds a mapping from jdbc type to database-native type.
    Returns the string that denotes the beginning of a comment.
    Returns the string that denotes the end of a comment.
    getDefaultSize(int jdbcTypeCode)
    Returns the default size value for the given type, if any.
    Returns the text that is used to delimit identifiers (eg.
    boolean
    Determines whether the platform is able to read the auto-increment status for columns from an existing database.
    int
    Returns the maximum number of characters that a column name can have.
    int
    Returns the maximum number of characters that a constraint name can have.
    int
    Returns the maximum number of characters that a foreign key name can have.
    int
    Returns the maximum number of characters that a table name can have.
    getNativeType(int typeCode)
    Returns the database-native type for the given type code.
    Returns the text separating individual sql commands.
    int
    getTargetJdbcType(int typeCode)
    Returns the jdbc type corresponding to the native type that is used for the given jdbc type.
    Returns the text that is used for for quoting values (e.g.
    boolean
    hasNullDefault(int sqlTypeCode)
    Determines whether the native type for the given sql type code (one of the Types constants) has a null default value on this platform.
    boolean
    hasPrecisionAndScale(int sqlTypeCode)
    Determines whether the native type for the given sql type code (one of the Types constants) has precision and scale specifications on this platform.
    boolean
    hasSize(int sqlTypeCode)
    Determines whether the native type for the given sql type code (one of the Types constants) has a size specification on this platform.
    boolean
    Determines whether an ALTER TABLE statement shall be used for dropping indices or constraints.
    boolean
    Determines whether auto-commit mode for the reading of the values of identity columns after insertion shall be used, i.e.
    boolean
    Determines whether default values can be specified for LONGVARCHAR/LONGVARBINARY columns.
    boolean
    Determines whether the auto-increment specification uses the DEFAULT value of the column definition.
    boolean
    Determines whether delimited identifiers are supported.
    boolean
    Returns whether embedded foreign key constraints should have a name.
    boolean
    Determines whether foreign key constraints are embedded in the create table clause or as seperate alter table statements.
    boolean
    Determines whether the platform is allows the explicit specification of values for identity columns in INSERT/UPDATE statements.
    boolean
    Determines whether the indices are embedded in the create table clause or as seperate statements.
    boolean
    Determines whether indices are supported.
    boolean
    Determines whether the values of identity columns can be read back from the database after insertion of a row.
    boolean
    Determines whether non-primary key columns can be auto-incrementing (IDENTITY columns).
    boolean
    Determines whether a NULL needs to be explicitly stated when the column has no specified default value.
    boolean
    Determines whether primary key constraints are embedded in the create table clause or as seperate alter table statements.
    boolean
    Determines whether the database supports SQL comments.
    boolean
    Determines whether the platform returns synthetic default values (e.g.
    boolean
    Determines whether system indices for foreign keys are always non-unique or can be unique (i.e.
    boolean
    Determines whether database-generated indices for primary and foreign keys are returned when reading a model from a database.
    void
    setAlterTableForDropUsed(boolean useAlterTableForDrop)
    Specifies whether an ALTER TABLE statement shall be used for dropping indices or constraints.
    void
    setAutoCommitModeForLastIdentityValueReading(boolean autoCommitModeForLastIdentityValueReading)
    Determines whether auto-commit mode for the reading of the values of identity columns after insertion shall be used, i.e.
    void
    setCommentPrefix(String commentPrefix)
    Sets the text that starts a comment.
    void
    setCommentSuffix(String commentSuffix)
    Sets the text that ends a comment.
    void
    setDefaultSize(int jdbcTypeCode, int defaultSize)
    Adds a default size for the given jdbc type.
    void
    setDefaultSize(String jdbcTypeName, int defaultSize)
    Adds a default size for the given jdbc type.
    void
    Specifies whether default values can be specified for LONGVARCHAR/LONGVARBINARY columns.
    void
    setDefaultValueUsedForIdentitySpec(boolean identitySpecUsesDefaultValue)
    Specifies whether the auto-increment specification uses the DEFAULT value of the column definition.
    void
    setDelimitedIdentifiersSupported(boolean areSupported)
    Specifies whether delimited identifiers are supported.
    void
    setDelimiterToken(String delimiterToken)
    Sets the text that is used to delimit identifiers (eg.
    void
    setEmbeddedForeignKeysNamed(boolean embeddedForeignKeysNamed)
    Specifies whether embedded foreign key constraints should be named.
    void
    setForeignKeysEmbedded(boolean foreignKeysEmbedded)
    Specifies whether foreign key constraints are embedded in the create table clause or as seperate alter table statements.
    void
    setHasNullDefault(int sqlTypeCode, boolean hasNullDefault)
    Specifies whether the native type for the given sql type code (one of the Types constants) has a null default value on this platform.
    void
    setHasPrecisionAndScale(int sqlTypeCode, boolean hasPrecisionAndScale)
    Specifies whether the native type for the given sql type code (one of the Types constants) has precision and scale specifications on this platform.
    void
    setHasSize(int sqlTypeCode, boolean hasSize)
    Specifies whether the native type for the given sql type code (one of the Types constants) has a size specification on this platform.
    void
    setIdentityOverrideAllowed(boolean identityOverrideAllowed)
    Specifies whether the platform is allows the explicit specification of values for identity columns in INSERT/UPDATE statements.
    void
    setIdentityStatusReadingSupported(boolean canReadAutoIncrementStatus)
    Specifies whether the platform is able to read the auto-increment status for columns from an existing database.
    void
    setIndicesEmbedded(boolean indicesEmbedded)
    Specifies whether indices are embedded in the create table clause or as seperate alter table statements.
    void
    setIndicesSupported(boolean supportingIndices)
    Specifies whether indices are supported.
    void
    setLastIdentityValueReadable(boolean lastIdentityValueReadable)
    Specifies whether the values of identity columns can be read back from the database after insertion of a row.
    void
    setMaxColumnNameLength(int maxColumnNameLength)
    Sets the maximum length of column names that this database allows.
    void
    setMaxConstraintNameLength(int maxConstraintNameLength)
    Sets the maximum length of constraint names that this database allows.
    void
    setMaxForeignKeyNameLength(int maxForeignKeyNameLength)
    Sets the maximum length of foreign key names that this database allows.
    void
    setMaxIdentifierLength(int maxIdentifierLength)
    Sets the maximum length of all identifiers that this database allows.
    void
    setMaxTableNameLength(int maxTableNameLength)
    Sets the maximum length of table names that this database allows.
    void
    setNonPKIdentityColumnsSupported(boolean supportingNonPKIdentityColumns)
    Specifies whether non-primary key columns can be auto-incrementing (IDENTITY columns).
    void
    setNullAsDefaultValueRequired(boolean requiresNullAsDefaultValue)
    Specifies whether a NULL needs to be explicitly stated when the column has no specified default value.
    void
    setPrimaryKeyEmbedded(boolean primaryKeyEmbedded)
    Specifies whether the primary key constraints are embedded in the create table clause or as seperate alter table statements.
    void
    setSqlCommandDelimiter(String sqlCommandDelimiter)
    Sets the text separating individual sql commands.
    void
    setSqlCommentsSupported(boolean commentsSupported)
    Specifies whether SQL comments are supported by the database.
    void
    setSyntheticDefaultValueForRequiredReturned(boolean returningDefaultValue)
    Specifies whether the platform returns synthetic default values (e.g.
    void
    Specifies whether system indices for foreign keys are always non-unique or can be unique (i.e.
    void
    setSystemIndicesReturned(boolean returningSystemIndices)
    Specifies whether database-generated indices for primary and foreign keys are returned when reading a model from a database.
    void
    setValueQuoteToken(String valueQuoteChar)
    Sets the text that is used for for quoting values (e.g.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • PlatformInfo

      public PlatformInfo()
      Creates a new platform info object.
  • Method Details

    • isNullAsDefaultValueRequired

      public boolean isNullAsDefaultValueRequired()
      Determines whether a NULL needs to be explicitly stated when the column has no specified default value. Default is false.
      Returns:
      true if NULL must be written for empty default values
    • setNullAsDefaultValueRequired

      public void setNullAsDefaultValueRequired(boolean requiresNullAsDefaultValue)
      Specifies whether a NULL needs to be explicitly stated when the column has no specified default value. Default is false.
      Parameters:
      requiresNullAsDefaultValue - Whether NULL must be written for empty default values
    • isDefaultValuesForLongTypesSupported

      public boolean isDefaultValuesForLongTypesSupported()
      Determines whether default values can be specified for LONGVARCHAR/LONGVARBINARY columns.
      Returns:
      true if default values are allowed
    • setDefaultValuesForLongTypesSupported

      public void setDefaultValuesForLongTypesSupported(boolean isSupported)
      Specifies whether default values can be specified for LONGVARCHAR/LONGVARBINARY columns.
      Parameters:
      isSupported - true if default values are supported
    • isPrimaryKeyEmbedded

      public boolean isPrimaryKeyEmbedded()
      Determines whether primary key constraints are embedded in the create table clause or as seperate alter table statements. The default is embedded pks.
      Returns:
      true if pk constraints are embedded
    • setPrimaryKeyEmbedded

      public void setPrimaryKeyEmbedded(boolean primaryKeyEmbedded)
      Specifies whether the primary key constraints are embedded in the create table clause or as seperate alter table statements.
      Parameters:
      primaryKeyEmbedded - Whether pk constraints are embedded
    • isForeignKeysEmbedded

      public boolean isForeignKeysEmbedded()
      Determines whether foreign key constraints are embedded in the create table clause or as seperate alter table statements. Per default, foreign keys are external.
      Returns:
      true if fk constraints are embedded
    • setForeignKeysEmbedded

      public void setForeignKeysEmbedded(boolean foreignKeysEmbedded)
      Specifies whether foreign key constraints are embedded in the create table clause or as seperate alter table statements.
      Parameters:
      foreignKeysEmbedded - Whether fk constraints are embedded
    • isEmbeddedForeignKeysNamed

      public boolean isEmbeddedForeignKeysNamed()
      Returns whether embedded foreign key constraints should have a name.
      Returns:
      true if embedded fks have name
    • setEmbeddedForeignKeysNamed

      public void setEmbeddedForeignKeysNamed(boolean embeddedForeignKeysNamed)
      Specifies whether embedded foreign key constraints should be named.
      Parameters:
      embeddedForeignKeysNamed - Whether embedded fks shall have a name
    • isIndicesSupported

      public boolean isIndicesSupported()
      Determines whether indices are supported.
      Returns:
      true if indices are supported
    • setIndicesSupported

      public void setIndicesSupported(boolean supportingIndices)
      Specifies whether indices are supported.
      Parameters:
      supportingIndices - true if indices are supported
    • isIndicesEmbedded

      public boolean isIndicesEmbedded()
      Determines whether the indices are embedded in the create table clause or as seperate statements. Per default, indices are external.
      Returns:
      true if indices are embedded
    • setIndicesEmbedded

      public void setIndicesEmbedded(boolean indicesEmbedded)
      Specifies whether indices are embedded in the create table clause or as seperate alter table statements.
      Parameters:
      indicesEmbedded - Whether indices are embedded
    • isNonPKIdentityColumnsSupported

      public boolean isNonPKIdentityColumnsSupported()
      Determines whether non-primary key columns can be auto-incrementing (IDENTITY columns).
      Returns:
      true if normal non-PK columns can be auto-incrementing
    • setNonPKIdentityColumnsSupported

      public void setNonPKIdentityColumnsSupported(boolean supportingNonPKIdentityColumns)
      Specifies whether non-primary key columns can be auto-incrementing (IDENTITY columns).
      Parameters:
      supportingNonPKIdentityColumns - true if normal non-PK columns can be auto-incrementing
    • isDefaultValueUsedForIdentitySpec

      public boolean isDefaultValueUsedForIdentitySpec()
      Determines whether the auto-increment specification uses the DEFAULT value of the column definition.
      Returns:
      true if the auto-increment spec is done via the DEFAULT value
    • setDefaultValueUsedForIdentitySpec

      public void setDefaultValueUsedForIdentitySpec(boolean identitySpecUsesDefaultValue)
      Specifies whether the auto-increment specification uses the DEFAULT value of the column definition.
      Parameters:
      identitySpecUsesDefaultValue - true if the auto-increment spec is done via the DEFAULT value
    • isSystemIndicesReturned

      public boolean isSystemIndicesReturned()
      Determines whether database-generated indices for primary and foreign keys are returned when reading a model from a database.
      Returns:
      true if system indices are read from a live database
    • setSystemIndicesReturned

      public void setSystemIndicesReturned(boolean returningSystemIndices)
      Specifies whether database-generated indices for primary and foreign keys are returned when reading a model from a database.
      Parameters:
      returningSystemIndices - true if system indices are read from a live database
    • isSystemForeignKeyIndicesAlwaysNonUnique

      public boolean isSystemForeignKeyIndicesAlwaysNonUnique()
      Determines whether system indices for foreign keys are always non-unique or can be unique (i.e. if a primary key column is used to establish the foreign key).
      Returns:
      true if system foreign key indices are always non-unique; default is false
    • setSystemForeignKeyIndicesAlwaysNonUnique

      public void setSystemForeignKeyIndicesAlwaysNonUnique(boolean alwaysNonUnique)
      Specifies whether system indices for foreign keys are always non-unique or can be unique (i.e. if a primary key column is used to establish the foreign key).
      Parameters:
      alwaysNonUnique - true if system foreign key indices are always non-unique
    • isSyntheticDefaultValueForRequiredReturned

      public boolean isSyntheticDefaultValueForRequiredReturned()
      Determines whether the platform returns synthetic default values (e.g. 0 for numeric columns etc.) for non-identity required columns when reading a model from a database.
      Returns:
      true if synthetic default values are returned for non-identity required columns
    • setSyntheticDefaultValueForRequiredReturned

      public void setSyntheticDefaultValueForRequiredReturned(boolean returningDefaultValue)
      Specifies whether the platform returns synthetic default values (e.g. 0 for numeric columns etc.) for non-identity required columns when reading a model from a database.
      Parameters:
      returningDefaultValue - true if synthetic default values are returned for non-identity required columns
    • getIdentityStatusReadingSupported

      public boolean getIdentityStatusReadingSupported()
      Determines whether the platform is able to read the auto-increment status for columns from an existing database.
      Returns:
      true if the auto-increment status can be determined from an existing database
    • setIdentityStatusReadingSupported

      public void setIdentityStatusReadingSupported(boolean canReadAutoIncrementStatus)
      Specifies whether the platform is able to read the auto-increment status for columns from an existing database.
      Parameters:
      canReadAutoIncrementStatus - true if the auto-increment status can be determined from an existing database
    • isSqlCommentsSupported

      public boolean isSqlCommentsSupported()
      Determines whether the database supports SQL comments.
      Returns:
      true if comments are supported
    • setSqlCommentsSupported

      public void setSqlCommentsSupported(boolean commentsSupported)
      Specifies whether SQL comments are supported by the database.
      Parameters:
      commentsSupported - true if comments are supported
    • isDelimitedIdentifiersSupported

      public boolean isDelimitedIdentifiersSupported()
      Determines whether delimited identifiers are supported.
      Returns:
      true if delimited identifiers are supported
    • setDelimitedIdentifiersSupported

      public void setDelimitedIdentifiersSupported(boolean areSupported)
      Specifies whether delimited identifiers are supported.
      Parameters:
      areSupported - true if delimited identifiers are supported
    • isAlterTableForDropUsed

      public boolean isAlterTableForDropUsed()
      Determines whether an ALTER TABLE statement shall be used for dropping indices or constraints. The default is false.
      Returns:
      true if ALTER TABLE is required
    • setAlterTableForDropUsed

      public void setAlterTableForDropUsed(boolean useAlterTableForDrop)
      Specifies whether an ALTER TABLE statement shall be used for dropping indices or constraints.
      Parameters:
      useAlterTableForDrop - Whether ALTER TABLE will be used
    • isIdentityOverrideAllowed

      public boolean isIdentityOverrideAllowed()
      Determines whether the platform is allows the explicit specification of values for identity columns in INSERT/UPDATE statements.
      Returns:
      true if values for identity columns can be specified
    • setIdentityOverrideAllowed

      public void setIdentityOverrideAllowed(boolean identityOverrideAllowed)
      Specifies whether the platform is allows the explicit specification of values for identity columns in INSERT/UPDATE statements.
      Parameters:
      identityOverrideAllowed - true if values for identity columns can be specified
    • isLastIdentityValueReadable

      public boolean isLastIdentityValueReadable()
      Determines whether the values of identity columns can be read back from the database after insertion of a row.
      Returns:
      true if the identity column(s) can be read back
    • setLastIdentityValueReadable

      public void setLastIdentityValueReadable(boolean lastIdentityValueReadable)
      Specifies whether the values of identity columns can be read back from the database after insertion of a row.
      Parameters:
      lastIdentityValueReadable - true if the identity column(s) can be read back
    • isAutoCommitModeForLastIdentityValueReading

      public boolean isAutoCommitModeForLastIdentityValueReading()
      Determines whether auto-commit mode for the reading of the values of identity columns after insertion shall be used, i.e. whether between the insertion of the row and the reading of the database-generated identity value a commit is issued.
      Returns:
      true if auto-commit mode is used
    • setAutoCommitModeForLastIdentityValueReading

      public void setAutoCommitModeForLastIdentityValueReading(boolean autoCommitModeForLastIdentityValueReading)
      Determines whether auto-commit mode for the reading of the values of identity columns after insertion shall be used, i.e. whether between the insertion of the row and the reading of the database-generated identity value a commit is issued.
      Parameters:
      autoCommitModeForLastIdentityValueReading - true if auto-commit mode shall be used
    • getMaxTableNameLength

      public int getMaxTableNameLength()
      Returns the maximum number of characters that a table name can have.
      Returns:
      The number of characters, or -1 if not limited
    • getMaxColumnNameLength

      public int getMaxColumnNameLength()
      Returns the maximum number of characters that a column name can have.
      Returns:
      The number of characters, or -1 if not limited
    • getMaxConstraintNameLength

      public int getMaxConstraintNameLength()
      Returns the maximum number of characters that a constraint name can have.
      Returns:
      The number of characters, or -1 if not limited
    • getMaxForeignKeyNameLength

      public int getMaxForeignKeyNameLength()
      Returns the maximum number of characters that a foreign key name can have.
      Returns:
      The number of characters, or -1 if not limited
    • setMaxIdentifierLength

      public void setMaxIdentifierLength(int maxIdentifierLength)
      Sets the maximum length of all identifiers that this database allows. Use this method if the length limit is the same for all kinds of identifiers.
      Parameters:
      maxIdentifierLength - The maximum identifier length, -1 if unlimited
    • setMaxTableNameLength

      public void setMaxTableNameLength(int maxTableNameLength)
      Sets the maximum length of table names that this database allows.
      Parameters:
      maxTableNameLength - The maximum length, -1 if unlimited
    • setMaxColumnNameLength

      public void setMaxColumnNameLength(int maxColumnNameLength)
      Sets the maximum length of column names that this database allows.
      Parameters:
      maxColumnNameLength - The maximum length, -1 if unlimited
    • setMaxConstraintNameLength

      public void setMaxConstraintNameLength(int maxConstraintNameLength)
      Sets the maximum length of constraint names that this database allows.
      Parameters:
      maxConstraintNameLength - The maximum length, -1 if unlimited
    • setMaxForeignKeyNameLength

      public void setMaxForeignKeyNameLength(int maxForeignKeyNameLength)
      Sets the maximum length of foreign key names that this database allows.
      Parameters:
      maxForeignKeyNameLength - The maximum length, -1 if unlimited
    • getDelimiterToken

      public String getDelimiterToken()
      Returns the text that is used to delimit identifiers (eg. table names). Per default, this is a double quotation character (").
      Returns:
      The delimiter text
    • setDelimiterToken

      public void setDelimiterToken(String delimiterToken)
      Sets the text that is used to delimit identifiers (eg. table names).
      Parameters:
      delimiterToken - The delimiter text
    • getValueQuoteToken

      public String getValueQuoteToken()
      Returns the text that is used for for quoting values (e.g. text) when printing default values and in generates insert/update/delete statements. Per default, this is a single quotation character (').
      Returns:
      The quote text
    • setValueQuoteToken

      public void setValueQuoteToken(String valueQuoteChar)
      Sets the text that is used for for quoting values (e.g. text) when printing default values and in generates insert/update/delete statements.
      Parameters:
      valueQuoteChar - The new quote text
    • getCommentPrefix

      public String getCommentPrefix()
      Returns the string that denotes the beginning of a comment.
      Returns:
      The comment prefix
    • setCommentPrefix

      public void setCommentPrefix(String commentPrefix)
      Sets the text that starts a comment.
      Parameters:
      commentPrefix - The new comment prefix
    • getCommentSuffix

      public String getCommentSuffix()
      Returns the string that denotes the end of a comment. Note that comments will be always on their own line.
      Returns:
      The comment suffix
    • setCommentSuffix

      public void setCommentSuffix(String commentSuffix)
      Sets the text that ends a comment.
      Parameters:
      commentSuffix - The new comment suffix
    • getSqlCommandDelimiter

      public String getSqlCommandDelimiter()
      Returns the text separating individual sql commands.
      Returns:
      The delimiter text
    • setSqlCommandDelimiter

      public void setSqlCommandDelimiter(String sqlCommandDelimiter)
      Sets the text separating individual sql commands.
      Parameters:
      sqlCommandDelimiter - The delimiter text
    • getNativeType

      public String getNativeType(int typeCode)
      Returns the database-native type for the given type code.
      Parameters:
      typeCode - The Types type code
      Returns:
      The native type or null if there isn't one defined
    • getTargetJdbcType

      public int getTargetJdbcType(int typeCode)
      Returns the jdbc type corresponding to the native type that is used for the given jdbc type. This is most often the same jdbc type, but can also be a different one. For instance, if a database has no native boolean type, then the source jdbc type would be BIT or BOOLEAN, and the target jdbc type might be TINYINT or SMALLINT.
      Parameters:
      typeCode - The Types type code
      Returns:
      The target jdbc type
    • addNativeTypeMapping

      public void addNativeTypeMapping(int jdbcTypeCode, String nativeType)
      Adds a mapping from jdbc type to database-native type.
      Parameters:
      jdbcTypeCode - The jdbc type code as defined by Types
      nativeType - The native type
    • addNativeTypeMapping

      public void addNativeTypeMapping(int jdbcTypeCode, String nativeType, int targetJdbcTypeCode)
      Adds a mapping from jdbc type to database-native type.
      Parameters:
      jdbcTypeCode - The jdbc type code as defined by Types
      nativeType - The native type
      targetJdbcTypeCode - The jdbc type code corresponding to the native type (e.g. when reading the model from the database)
    • addNativeTypeMapping

      public void addNativeTypeMapping(String jdbcTypeName, String nativeType)
      Adds a mapping from jdbc type to database-native type. Note that this method accesses the named constant in Types via reflection and is thus safe to use under JDK 1.2/1.3 even with constants defined only in later Java versions - for these, the method simply will not add a mapping.
      Parameters:
      jdbcTypeName - The jdbc type name, one of the constants defined in Types
      nativeType - The native type
    • addNativeTypeMapping

      public void addNativeTypeMapping(String jdbcTypeName, String nativeType, String targetJdbcTypeName)
      Adds a mapping from jdbc type to database-native type. Note that this method accesses the named constant in Types via reflection and is thus safe to use under JDK 1.2/1.3 even with constants defined only in later Java versions - for these, the method simply will not add a mapping.
      Parameters:
      jdbcTypeName - The jdbc type name, one of the constants defined in Types
      nativeType - The native type
      targetJdbcTypeName - The jdbc type corresponding to the native type (e.g. when reading the model from the database)
    • hasNullDefault

      public boolean hasNullDefault(int sqlTypeCode)
      Determines whether the native type for the given sql type code (one of the Types constants) has a null default value on this platform.
      Parameters:
      sqlTypeCode - The sql type code
      Returns:
      true if the native type has a null default value
    • setHasNullDefault

      public void setHasNullDefault(int sqlTypeCode, boolean hasNullDefault)
      Specifies whether the native type for the given sql type code (one of the Types constants) has a null default value on this platform.
      Parameters:
      sqlTypeCode - The sql type code
      hasNullDefault - true if the native type has a null default value
    • hasSize

      public boolean hasSize(int sqlTypeCode)
      Determines whether the native type for the given sql type code (one of the Types constants) has a size specification on this platform.
      Parameters:
      sqlTypeCode - The sql type code
      Returns:
      true if the native type has a size specification
    • setHasSize

      public void setHasSize(int sqlTypeCode, boolean hasSize)
      Specifies whether the native type for the given sql type code (one of the Types constants) has a size specification on this platform.
      Parameters:
      sqlTypeCode - The sql type code
      hasSize - true if the native type has a size specification
    • getDefaultSize

      public Integer getDefaultSize(int jdbcTypeCode)
      Returns the default size value for the given type, if any.
      Parameters:
      jdbcTypeCode - The jdbc type code
      Returns:
      The default size or null if none is defined
    • setDefaultSize

      public void setDefaultSize(int jdbcTypeCode, int defaultSize)
      Adds a default size for the given jdbc type.
      Parameters:
      jdbcTypeCode - The jdbc type code
      defaultSize - The default size
    • setDefaultSize

      public void setDefaultSize(String jdbcTypeName, int defaultSize)
      Adds a default size for the given jdbc type.
      Parameters:
      jdbcTypeName - The name of the jdbc type, one of the Types constants
      defaultSize - The default size
    • hasPrecisionAndScale

      public boolean hasPrecisionAndScale(int sqlTypeCode)
      Determines whether the native type for the given sql type code (one of the Types constants) has precision and scale specifications on this platform.
      Parameters:
      sqlTypeCode - The sql type code
      Returns:
      true if the native type has precision and scale specifications
    • setHasPrecisionAndScale

      public void setHasPrecisionAndScale(int sqlTypeCode, boolean hasPrecisionAndScale)
      Specifies whether the native type for the given sql type code (one of the Types constants) has precision and scale specifications on this platform.
      Parameters:
      sqlTypeCode - The sql type code
      hasPrecisionAndScale - true if the native type has precision and scale specifications