[Squirrel-sql-commits] sql12/fw/src/net/sourceforge/squirrel_sql/fw/dialects InformixDialect.java,
A Java SQL client for any JDBC compliant database
Brought to you by:
colbell,
gerdwagner
From: Rob M. <man...@us...> - 2006-11-30 11:12:27
|
Update of /cvsroot/squirrel-sql/sql12/fw/src/net/sourceforge/squirrel_sql/fw/dialects In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv24479/fw/src/net/sourceforge/squirrel_sql/fw/dialects Modified Files: InformixDialect.java Log Message: Fixed add primary key to create the unique index first. This way the PK name is preserved. Index: InformixDialect.java =================================================================== RCS file: /cvsroot/squirrel-sql/sql12/fw/src/net/sourceforge/squirrel_sql/fw/dialects/InformixDialect.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** InformixDialect.java 27 Nov 2006 01:29:26 -0000 1.7 --- InformixDialect.java 30 Nov 2006 11:12:21 -0000 1.8 *************** *** 28,34 **** * */ ! public class InformixDialect extends org.hibernate.dialect.InformixDialect ! implements HibernateDialect { ! public InformixDialect() { super(); --- 28,34 ---- * */ ! public class InformixDialect extends org.hibernate.dialect.InformixDialect ! implements HibernateDialect { ! public InformixDialect() { super(); *************** *** 47,56 **** registerColumnType(Types.FLOAT, 15, "float($l)"); registerColumnType(Types.FLOAT, "float(15)"); ! registerColumnType(Types.INTEGER, "integer"); registerColumnType(Types.LONGVARBINARY, "byte"); registerColumnType(Types.LONGVARCHAR, "text"); registerColumnType(Types.NUMERIC, "numeric($p,$s)"); registerColumnType(Types.REAL, "real"); ! registerColumnType(Types.SMALLINT, "smallint"); registerColumnType(Types.TIME, "datetime hour to second"); registerColumnType(Types.TIMESTAMP, "datetime"); --- 47,56 ---- registerColumnType(Types.FLOAT, 15, "float($l)"); registerColumnType(Types.FLOAT, "float(15)"); ! registerColumnType(Types.INTEGER, "integer"); registerColumnType(Types.LONGVARBINARY, "byte"); registerColumnType(Types.LONGVARCHAR, "text"); registerColumnType(Types.NUMERIC, "numeric($p,$s)"); registerColumnType(Types.REAL, "real"); ! registerColumnType(Types.SMALLINT, "smallint"); registerColumnType(Types.TIME, "datetime hour to second"); registerColumnType(Types.TIMESTAMP, "datetime"); *************** *** 59,65 **** registerColumnType(Types.VARCHAR, 255, "varchar($l)"); registerColumnType(Types.VARCHAR, "text"); ! } ! ! /* (non-Javadoc) * @see net.sourceforge.squirrel_sql.plugins.dbcopy.dialects.HibernateDialect#canPasteTo(net.sourceforge.squirrel_sql.fw.sql.DatabaseObjectType) */ --- 59,67 ---- registerColumnType(Types.VARCHAR, 255, "varchar($l)"); registerColumnType(Types.VARCHAR, "text"); ! } ! ! /* ! * (non-Javadoc) ! * * @see net.sourceforge.squirrel_sql.plugins.dbcopy.dialects.HibernateDialect#canPasteTo(net.sourceforge.squirrel_sql.fw.sql.DatabaseObjectType) */ *************** *** 67,72 **** return true; } ! ! /* (non-Javadoc) * @see net.sourceforge.squirrel_sql.plugins.dbcopy.dialects.HibernateDialect#supportsSchemasInTableDefinition() */ --- 69,76 ---- return true; } ! ! /* ! * (non-Javadoc) ! * * @see net.sourceforge.squirrel_sql.plugins.dbcopy.dialects.HibernateDialect#supportsSchemasInTableDefinition() */ *************** *** 75,79 **** } ! /* (non-Javadoc) * @see net.sourceforge.squirrel_sql.plugins.dbcopy.dialects.HibernateDialect#getLengthFunction() */ --- 79,85 ---- } ! /* ! * (non-Javadoc) ! * * @see net.sourceforge.squirrel_sql.plugins.dbcopy.dialects.HibernateDialect#getLengthFunction() */ *************** *** 82,86 **** } ! /* (non-Javadoc) * @see net.sourceforge.squirrel_sql.plugins.dbcopy.dialects.HibernateDialect#getMaxFunction() */ --- 88,94 ---- } ! /* ! * (non-Javadoc) ! * * @see net.sourceforge.squirrel_sql.plugins.dbcopy.dialects.HibernateDialect#getMaxFunction() */ *************** *** 89,93 **** } ! /* (non-Javadoc) * @see net.sourceforge.squirrel_sql.plugins.dbcopy.dialects.HibernateDialect#getMaxPrecision(int) */ --- 97,103 ---- } ! /* ! * (non-Javadoc) ! * * @see net.sourceforge.squirrel_sql.plugins.dbcopy.dialects.HibernateDialect#getMaxPrecision(int) */ *************** *** 102,106 **** } ! /* (non-Javadoc) * @see net.sourceforge.squirrel_sql.plugins.dbcopy.dialects.HibernateDialect#getMaxScale(int) */ --- 112,118 ---- } ! /* ! * (non-Javadoc) ! * * @see net.sourceforge.squirrel_sql.plugins.dbcopy.dialects.HibernateDialect#getMaxScale(int) */ *************** *** 108,114 **** return getMaxPrecision(dataType); } ! ! /* (non-Javadoc) ! * @see net.sourceforge.squirrel_sql.plugins.dbcopy.dialects.HibernateDialect#getPrecisionDigits(int, int) */ public int getPrecisionDigits(int columnSize, int dataType) { --- 120,129 ---- return getMaxPrecision(dataType); } ! ! /* ! * (non-Javadoc) ! * ! * @see net.sourceforge.squirrel_sql.plugins.dbcopy.dialects.HibernateDialect#getPrecisionDigits(int, ! * int) */ public int getPrecisionDigits(int columnSize, int dataType) { *************** *** 116,121 **** } ! /* (non-Javadoc) ! * @see net.sourceforge.squirrel_sql.plugins.dbcopy.dialects.HibernateDialect#getColumnLength(int, int) */ public int getColumnLength(int columnSize, int dataType) { --- 131,139 ---- } ! /* ! * (non-Javadoc) ! * ! * @see net.sourceforge.squirrel_sql.plugins.dbcopy.dialects.HibernateDialect#getColumnLength(int, ! * int) */ public int getColumnLength(int columnSize, int dataType) { *************** *** 132,173 **** return "Informix"; } ! /** * Returns boolean value indicating whether or not this dialect supports the * specified database product/version. * ! * @param databaseProductName the name of the database as reported by ! * DatabaseMetaData.getDatabaseProductName() ! * @param databaseProductVersion the version of the database as reported by ! * DatabaseMetaData.getDatabaseProductVersion() * @return true if this dialect can be used for the specified product name ! * and version; false otherwise. */ ! public boolean supportsProduct(String databaseProductName, ! String databaseProductVersion) ! { ! if (databaseProductName == null) { ! return false; ! } ! if (databaseProductName.trim().startsWith("Informix")) { ! // We don't yet have the need to discriminate by version. ! return true; ! } ! return false; ! } ! /** * Returns the SQL statement to use to add a column to the specified table * using the information about the new column specified by info. ! * @param info information about the new column such as type, name, etc. * * @return ! * @throws UnsupportedOperationException if the database doesn't support ! * adding columns after a table has already been created. */ ! public String[] getColumnAddSQL(TableColumnInfo info) throws UnsupportedOperationException { ! return new String[] { ! DialectUtils.getColumnAddSQL(info, this, true, false) ! }; } --- 150,195 ---- return "Informix"; } ! /** * Returns boolean value indicating whether or not this dialect supports the * specified database product/version. * ! * @param databaseProductName ! * the name of the database as reported by ! * DatabaseMetaData.getDatabaseProductName() ! * @param databaseProductVersion ! * the version of the database as reported by ! * DatabaseMetaData.getDatabaseProductVersion() * @return true if this dialect can be used for the specified product name ! * and version; false otherwise. */ ! public boolean supportsProduct(String databaseProductName, ! String databaseProductVersion) { ! if (databaseProductName == null) { ! return false; ! } ! if (databaseProductName.trim().startsWith("Informix")) { ! // We don't yet have the need to discriminate by version. ! return true; ! } ! return false; ! } ! /** * Returns the SQL statement to use to add a column to the specified table * using the information about the new column specified by info. ! * ! * @param info ! * information about the new column such as type, name, etc. * * @return ! * @throws UnsupportedOperationException ! * if the database doesn't support adding columns after a table ! * has already been created. */ ! public String[] getColumnAddSQL(TableColumnInfo info) ! throws UnsupportedOperationException { ! return new String[] { DialectUtils.getColumnAddSQL(info, this, true, ! false) }; } *************** *** 186,194 **** * specified table. * ! * @param tableName the name of the table that has the column ! * @param columnName the name of the column to drop. * @return ! * @throws UnsupportedOperationException if the database doesn't support ! * dropping columns. */ public String getColumnDropSQL(String tableName, String columnName) { --- 208,218 ---- * specified table. * ! * @param tableName ! * the name of the table that has the column ! * @param columnName ! * the name of the column to drop. * @return ! * @throws UnsupportedOperationException ! * if the database doesn't support dropping columns. */ public String getColumnDropSQL(String tableName, String columnName) { *************** *** 197,235 **** /** ! * Returns the SQL that forms the command to drop the specified table. If * cascade contraints is supported by the dialect and cascadeConstraints is ! * true, then a drop statement with cascade constraints clause will be * formed. * ! * @param tableName the table to drop ! * @param cascadeConstraints whether or not to drop any FKs that may ! * reference the specified table. * * @return the drop SQL command. */ ! public String getTableDropSQL(String tableName, boolean cascadeConstraints){ ! return DialectUtils.getTableDropSQL(tableName, ! true, ! cascadeConstraints); } ! /** ! * Returns the SQL that forms the command to add a primary key to the * specified table composed of the given column names. * ! * alter table table_name add constraint primary key (column_names) constraint pkName * ! * @param pkName the name of the constraint ! * @param columnNames the columns that form the key * @return */ ! public String[] getAddPrimaryKeySQL(String pkName, ! TableColumnInfo[] columns) ! { ! return new String[] { ! DialectUtils.getAddPrimaryKeySQL(pkName, columns, true) }; } ! /** * Returns a boolean value indicating whether or not this dialect supports --- 221,267 ---- /** ! * Returns the SQL that forms the command to drop the specified table. If * cascade contraints is supported by the dialect and cascadeConstraints is ! * true, then a drop statement with cascade constraints clause will be * formed. * ! * @param tableName ! * the table to drop ! * @param cascadeConstraints ! * whether or not to drop any FKs that may reference the ! * specified table. * * @return the drop SQL command. */ ! public String getTableDropSQL(String tableName, boolean cascadeConstraints) { ! return DialectUtils ! .getTableDropSQL(tableName, true, cascadeConstraints); } ! /** ! * Returns the SQL that forms the command to add a primary key to the * specified table composed of the given column names. * ! * CREATE UNIQUE INDEX test_index ON test_table (test_field); * ! * ALTER TABLE test_table ADD CONSTRAINT PRIMARY KEY (test_field) CONSTRAINT ! * test_constraint; ! * ! * alter table table_name add constraint primary key (column_names) ! * constraint pkName ! * ! * @param pkName ! * the name of the constraint ! * @param columnNames ! * the columns that form the key * @return */ ! public String[] getAddPrimaryKeySQL(String pkName, TableColumnInfo[] columns) { ! return new String[] { ! DialectUtils.getAddIndexSQL(pkName, true, columns), ! DialectUtils.getAddPrimaryKeySQL(pkName, columns, true) }; } ! /** * Returns a boolean value indicating whether or not this dialect supports *************** *** 240,261 **** public boolean supportsColumnComment() { return false; ! } ! /** ! * Returns the SQL statement to use to add a comment to the specified ! * column of the specified table. ! * @param info information about the column such as type, name, etc. * @return ! * @throws UnsupportedOperationException if the database doesn't support ! * annotating columns with a comment. */ ! public String getColumnCommentAlterSQL(TableColumnInfo info) ! throws UnsupportedOperationException ! { int featureId = DialectUtils.COLUMN_COMMENT_TYPE; String msg = DialectUtils.getUnsupportedMessage(this, featureId); throw new UnsupportedOperationException(msg); } ! /** * Returns a boolean value indicating whether or not this database dialect --- 272,296 ---- public boolean supportsColumnComment() { return false; ! } ! /** ! * Returns the SQL statement to use to add a comment to the specified column ! * of the specified table. ! * ! * @param info ! * information about the column such as type, name, etc. * @return ! * @throws UnsupportedOperationException ! * if the database doesn't support annotating columns with a ! * comment. */ ! public String getColumnCommentAlterSQL(TableColumnInfo info) ! throws UnsupportedOperationException ! { int featureId = DialectUtils.COLUMN_COMMENT_TYPE; String msg = DialectUtils.getUnsupportedMessage(this, featureId); throw new UnsupportedOperationException(msg); } ! /** * Returns a boolean value indicating whether or not this database dialect *************** *** 263,276 **** * * @return true if the database supports dropping columns; false otherwise. ! */ public boolean supportsAlterColumnNull() { return true; } ! /** ! * Returns the SQL used to alter the specified column to not allow null * values * ! * @param info the column to modify * @return the SQL to execute */ --- 298,312 ---- * * @return true if the database supports dropping columns; false otherwise. ! */ public boolean supportsAlterColumnNull() { return true; } ! /** ! * Returns the SQL used to alter the specified column to not allow null * values * ! * @param info ! * the column to modify * @return the SQL to execute */ *************** *** 279,283 **** return DialectUtils.getColumnNullableAlterSQL(info, this, ! alterClause, true); } --- 315,319 ---- return DialectUtils.getColumnNullableAlterSQL(info, this, ! alterClause, true); } *************** *** 287,303 **** * supports renaming columns. * ! * @return true if the database supports changing the name of columns; ! * false otherwise. */ public boolean supportsRenameColumn() { return true; ! } ! /** * Returns the SQL that is used to change the column name. * * ! * @param from the TableColumnInfo as it is ! * @param to the TableColumnInfo as it wants to be * * @return the SQL to make the change --- 323,341 ---- * supports renaming columns. * ! * @return true if the database supports changing the name of columns; false ! * otherwise. */ public boolean supportsRenameColumn() { return true; ! } ! /** * Returns the SQL that is used to change the column name. * * ! * @param from ! * the TableColumnInfo as it is ! * @param to ! * the TableColumnInfo as it wants to be * * @return the SQL to make the change *************** *** 306,310 **** return DialectUtils.getColumnRenameSQL(from, to); } ! /** * Returns the SQL that is used to change the column type. --- 344,348 ---- return DialectUtils.getColumnRenameSQL(from, to); } ! /** * Returns the SQL that is used to change the column type. *************** *** 312,341 **** * alter table table_name modify column_name datatype * ! * @param from the TableColumnInfo as it is ! * @param to the TableColumnInfo as it wants to be * * @return the SQL to make the change ! * @throw UnsupportedOperationException if the database doesn't support ! * modifying column types. */ ! public String getColumnTypeAlterSQL(TableColumnInfo from, ! TableColumnInfo to) ! throws UnsupportedOperationException ! { String alterClause = DialectUtils.MODIFY_CLAUSE; String setClause = null; return DialectUtils.getColumnTypeAlterSQL(this, alterClause, ! setClause, false, from, to); } ! /** * Returns a boolean value indicating whether or not this database dialect * supports changing a column's default value. * ! * @return true if the database supports modifying column defaults; false * otherwise */ --- 350,379 ---- * alter table table_name modify column_name datatype * ! * @param from ! * the TableColumnInfo as it is ! * @param to ! * the TableColumnInfo as it wants to be * * @return the SQL to make the change ! * @throw UnsupportedOperationException if the database doesn't support ! * modifying column types. */ ! public String getColumnTypeAlterSQL(TableColumnInfo from, TableColumnInfo to) ! throws UnsupportedOperationException { String alterClause = DialectUtils.MODIFY_CLAUSE; String setClause = null; return DialectUtils.getColumnTypeAlterSQL(this, alterClause, ! setClause, false, from, to); } ! /** * Returns a boolean value indicating whether or not this database dialect * supports changing a column's default value. * ! * @return true if the database supports modifying column defaults; false * otherwise */ *************** *** 343,351 **** return true; } ! /** * Returns the SQL command to change the specified column's default value ! * ! * @param info the column to modify and it's default value. * @return SQL to make the change */ --- 381,390 ---- return true; } ! /** * Returns the SQL command to change the specified column's default value ! * ! * @param info ! * the column to modify and it's default value. * @return SQL to make the change */ *************** *** 355,361 **** return DialectUtils.getColumnDefaultAlterSQL(this, info, ! alterClause, true, ! defaultClause); } --- 394,400 ---- return DialectUtils.getColumnDefaultAlterSQL(this, info, ! alterClause, true, ! defaultClause); } *************** *** 363,369 **** * Returns the SQL command to drop the specified table's primary key. * ! * @param pkName the name of the primary key that should be dropped ! * @param tableName the name of the table whose primary key should be ! * dropped * @return */ --- 402,409 ---- * Returns the SQL command to drop the specified table's primary key. * ! * @param pkName ! * the name of the primary key that should be dropped ! * @param tableName ! * the name of the table whose primary key should be dropped * @return */ *************** *** 371,374 **** return DialectUtils.getDropPrimaryKeySQL(pkName, tableName, true); } ! } --- 411,414 ---- return DialectUtils.getDropPrimaryKeySQL(pkName, tableName, true); } ! } |