Skip to content

Commit

Permalink
0001795: DDL modification alters need to include catalog/schema
Browse files Browse the repository at this point in the history
  • Loading branch information
chenson42 committed Jul 10, 2014
1 parent ad9ff9d commit da876a2
Show file tree
Hide file tree
Showing 14 changed files with 72 additions and 76 deletions.
Expand Up @@ -157,7 +157,7 @@ protected void dropTable(Table table, StringBuilder ddl, boolean temporary, bool
println("BEGIN", ddl);
printIndent(ddl);
ddl.append("DROP TABLE ");
printlnIdentifier(getTableName(table.getFullyQualifiedTableName()), ddl);
printlnIdentifier(getFullyQualifiedTableNameShorten(table), ddl);
ddl.append("END");
printEndOfStatement(ddl);
}
Expand All @@ -171,8 +171,8 @@ protected void writeExternalForeignKeyDropStmt(Table table, ForeignKey foreignKe
printAlwaysSingleQuotedIdentifier(constraintName, ddl);
println(")", ddl);
printIndent(ddl);
ddl.append("ALTER TABLE ");
printIdentifier(getTableName(table.getName()), ddl);
ddl.append("ALTER TABLE ");
ddl.append(getFullyQualifiedTableNameShorten(table));
ddl.append(" DROP CONSTRAINT ");
printIdentifier(constraintName, ddl);
printEndOfStatement(ddl);
Expand All @@ -181,7 +181,7 @@ protected void writeExternalForeignKeyDropStmt(Table table, ForeignKey foreignKe
@Override
public void writeExternalIndexDropStmt(Table table, IIndex index, StringBuilder ddl) {
ddl.append("DROP INDEX ");
printIdentifier(getTableName(table.getName()), ddl);
ddl.append(getFullyQualifiedTableNameShorten(table));
ddl.append(".");
printIdentifier(getIndexName(index), ddl);
printEndOfStatement(ddl);
Expand All @@ -207,11 +207,9 @@ public String getSelectLastIdentityValues(Table table) {
*/
protected String getEnableIdentityOverrideSql(Table table) {
StringBuffer result = new StringBuffer();

result.append("SET IDENTITY_INSERT ");
result.append(getDelimitedIdentifier(getTableName(table.getName())));
result.append(getFullyQualifiedTableNameShorten(table));
result.append(" ON");

return result.toString();
}

Expand All @@ -224,11 +222,9 @@ protected String getEnableIdentityOverrideSql(Table table) {
*/
protected String getDisableIdentityOverrideSql(Table table) {
StringBuffer result = new StringBuffer();

result.append("SET IDENTITY_INSERT ");
result.append(getDelimitedIdentifier(getTableName(table.getName())));
result.append(getFullyQualifiedTableNameShorten(table));
result.append(" OFF");

return result.toString();
}

Expand Down Expand Up @@ -273,14 +269,14 @@ public void writeCopyDataStatement(Table sourceTable, Table targetTable, StringB

if (hasIdentity) {
ddl.append("SET IDENTITY_INSERT ");
printIdentifier(getTableName(targetTable.getName()), ddl);
ddl.append(getFullyQualifiedTableNameShorten(targetTable));
ddl.append(" ON");
printEndOfStatement(ddl);
}
super.writeCopyDataStatement(sourceTable, targetTable, ddl);
if (hasIdentity) {
ddl.append("SET IDENTITY_INSERT ");
printIdentifier(getTableName(targetTable.getName()), ddl);
ddl.append(getFullyQualifiedTableNameShorten(targetTable));
ddl.append(" OFF");
printEndOfStatement(ddl);
}
Expand Down Expand Up @@ -426,7 +422,7 @@ protected void processTableStructureChanges(Database currentModel, Database desi
protected void processChange(Database currentModel, Database desiredModel,
AddColumnChange change, StringBuilder ddl) {
ddl.append("ALTER TABLE ");
printlnIdentifier(getTableName(change.getChangedTable().getName()), ddl);
printlnIdentifier(getFullyQualifiedTableNameShorten(change.getChangedTable()), ddl);
printIndent(ddl);
ddl.append("ADD ");
writeColumn(change.getChangedTable(), change.getNewColumn(), ddl);
Expand All @@ -440,7 +436,7 @@ protected void processChange(Database currentModel, Database desiredModel,
protected void processChange(Database currentModel, Database desiredModel,
RemoveColumnChange change, StringBuilder ddl) {
ddl.append("ALTER TABLE ");
printlnIdentifier(getTableName(change.getChangedTable().getName()), ddl);
printlnIdentifier(getFullyQualifiedTableNameShorten(change.getChangedTable()), ddl);
printIndent(ddl);
ddl.append("DROP ");
printIdentifier(getColumnName(change.getColumn()), ddl);
Expand Down Expand Up @@ -495,7 +491,7 @@ protected void processChange(Database currentModel, Database desiredModel,
protected void processChange(Database currentModel, Database desiredModel,
ColumnDefaultValueChange change, StringBuilder ddl) {
ddl.append("ALTER TABLE ");
printlnIdentifier(getTableName(change.getChangedTable().getName()), ddl);
printlnIdentifier(getFullyQualifiedTableNameShorten(change.getChangedTable()), ddl);
printIndent(ddl);
ddl.append("REPLACE ");
printIdentifier(getColumnName(change.getChangedColumn()), ddl);
Expand Down Expand Up @@ -537,22 +533,22 @@ protected void processColumnChange(Table sourceTable, Table targetTable, Column
// the
// datatype changes
ddl.append("ALTER TABLE ");
printlnIdentifier(getTableName(sourceTable.getName()), ddl);
printlnIdentifier(getFullyQualifiedTableNameShorten(sourceTable), ddl);
printIndent(ddl);
ddl.append("REPLACE ");
printIdentifier(getColumnName(sourceColumn), ddl);
ddl.append(" DEFAULT NULL");
printEndOfStatement(ddl);
}
ddl.append("ALTER TABLE ");
printlnIdentifier(getTableName(sourceTable.getName()), ddl);
printlnIdentifier(getFullyQualifiedTableNameShorten(sourceTable), ddl);
printIndent(ddl);
ddl.append("MODIFY ");
writeColumn(sourceTable, targetColumn, ddl);
printEndOfStatement(ddl);
if (defaultChanges) {
ddl.append("ALTER TABLE ");
printlnIdentifier(getTableName(sourceTable.getName()), ddl);
printlnIdentifier(getFullyQualifiedTableNameShorten(sourceTable), ddl);
printIndent(ddl);
ddl.append("REPLACE ");
printIdentifier(getColumnName(sourceColumn), ddl);
Expand Down
Expand Up @@ -231,7 +231,7 @@ protected boolean writeAlterColumnDataType(ColumnDataTypeChange change, StringBu
protected void processChange(Database currentModel, Database desiredModel,
AddColumnChange change, StringBuilder ddl) {
ddl.append("ALTER TABLE ");
printlnIdentifier(getTableName(change.getChangedTable().getName()), ddl);
ddl.append(getFullyQualifiedTableNameShorten(change.getChangedTable()));
printIndent(ddl);
ddl.append("ADD COLUMN ");
writeColumn(change.getChangedTable(), change.getNewColumn(), ddl);
Expand All @@ -245,7 +245,7 @@ protected void processChange(Database currentModel, Database desiredModel,
protected void processChange(Database currentModel, Database desiredModel,
RemoveColumnChange change, StringBuilder ddl) {
ddl.append("ALTER TABLE ");
printlnIdentifier(getTableName(change.getChangedTable().getName()), ddl);
ddl.append(getFullyQualifiedTableNameShorten(change.getChangedTable()));
printIndent(ddl);
ddl.append("DROP COLUMN ");
printIdentifier(getColumnName(change.getColumn()), ddl);
Expand All @@ -261,7 +261,7 @@ protected void processChange(Database currentModel, Database desiredModel,
protected void processChange(Database currentModel, Database desiredModel,
RemovePrimaryKeyChange change, StringBuilder ddl) {
ddl.append("ALTER TABLE ");
printlnIdentifier(getTableName(change.getChangedTable().getName()), ddl);
ddl.append(getFullyQualifiedTableNameShorten(change.getChangedTable()));
printIndent(ddl);
ddl.append("DROP PRIMARY KEY");
printEndOfStatement(ddl);
Expand All @@ -274,7 +274,7 @@ protected void processChange(Database currentModel, Database desiredModel,
protected void processChange(Database currentModel, Database desiredModel,
PrimaryKeyChange change, StringBuilder ddl) {
ddl.append("ALTER TABLE ");
printlnIdentifier(getTableName(change.getChangedTable().getName()), ddl);
ddl.append(getFullyQualifiedTableNameShorten(change.getChangedTable()));
printIndent(ddl);
ddl.append("DROP PRIMARY KEY");
printEndOfStatement(ddl);
Expand All @@ -293,7 +293,7 @@ protected void writeExternalPrimaryKeysCreateStmt(Table table, Column[] primaryK

protected void writeReorgStmt(Table table, StringBuilder ddl) {
ddl.append("CALL SYSPROC.ADMIN_CMD('REORG TABLE ");
printlnIdentifier(getTableName(table.getName()), ddl);
ddl.append(getFullyQualifiedTableNameShorten(table));
ddl.append("')");
}
}
Expand Up @@ -158,7 +158,7 @@ protected void processTableStructureChanges(Database currentModel, Database desi
protected void processChange(Database currentModel, Database desiredModel,
AddColumnChange change, StringBuilder ddl) {
ddl.append("ALTER TABLE ");
printlnIdentifier(getTableName(change.getChangedTable().getName()), ddl);
ddl.append(getFullyQualifiedTableNameShorten(change.getChangedTable()));
printIndent(ddl);
ddl.append("ADD COLUMN ");
writeColumn(change.getChangedTable(), change.getNewColumn(), ddl);
Expand Down
Expand Up @@ -130,7 +130,7 @@ private void writeAutoIncrementCreateStmts(Table table, Column column, StringBui
ddl.append("CREATE TRIGGER ");
printIdentifier(getTriggerName(table, column), ddl);
ddl.append(" FOR ");
printlnIdentifier(getTableName(table.getName()), ddl);
ddl.append(getFullyQualifiedTableNameShorten(table));
println("ACTIVE BEFORE INSERT POSITION 0 AS", ddl);
ddl.append("BEGIN IF (NEW.");
printIdentifier(getColumnName(column), ddl);
Expand Down Expand Up @@ -341,7 +341,7 @@ protected boolean writeAlterColumnDataType(ColumnDataTypeChange change, StringBu
protected void processChange(Database currentModel, Database desiredModel,
AddColumnChange change, StringBuilder ddl) {
ddl.append("ALTER TABLE ");
printlnIdentifier(getTableName(change.getChangedTable().getName()), ddl);
ddl.append(getFullyQualifiedTableNameShorten(change.getChangedTable()));
printIndent(ddl);
ddl.append("ADD ");
writeColumn(change.getChangedTable(), change.getNewColumn(), ddl);
Expand All @@ -361,7 +361,7 @@ protected void processChange(Database currentModel, Database desiredModel,
// Even though Firebird can only add columns, we can move them later
// on
ddl.append("ALTER TABLE ");
printlnIdentifier(getTableName(change.getChangedTable().getName()), ddl);
ddl.append(getFullyQualifiedTableNameShorten(change.getChangedTable()));
printIndent(ddl);
ddl.append("ALTER ");
printIdentifier(getColumnName(change.getNewColumn()), ddl);
Expand All @@ -386,7 +386,7 @@ protected void processChange(Database currentModel, Database desiredModel,
writeAutoIncrementDropStmts(change.getChangedTable(), change.getColumn(), ddl);
}
ddl.append("ALTER TABLE ");
printlnIdentifier(getTableName(change.getChangedTable().getName()), ddl);
ddl.append(getFullyQualifiedTableNameShorten(change.getChangedTable()));
printIndent(ddl);
ddl.append("DROP ");
printIdentifier(getColumnName(change.getColumn()), ddl);
Expand Down
Expand Up @@ -134,7 +134,7 @@ protected void processTableStructureChanges(Database currentModel, Database desi
protected void processChange(Database currentModel, Database desiredModel,
AddColumnChange change, StringBuilder ddl) {
ddl.append("ALTER TABLE ");
printlnIdentifier(getTableName(change.getChangedTable().getName()), ddl);
ddl.append(getFullyQualifiedTableNameShorten(change.getChangedTable()));
printIndent(ddl);
ddl.append("ADD COLUMN ");
writeColumn(change.getChangedTable(), change.getNewColumn(), ddl);
Expand All @@ -148,7 +148,7 @@ protected void processChange(Database currentModel, Database desiredModel,
protected void processChange(Database currentModel, Database desiredModel,
RemoveColumnChange change, StringBuilder ddl) {
ddl.append("ALTER TABLE ");
printlnIdentifier(getTableName(change.getChangedTable().getName()), ddl);
ddl.append(getFullyQualifiedTableNameShorten(change.getChangedTable()));
printIndent(ddl);
ddl.append("DROP COLUMN ");
printIdentifier(getColumnName(change.getColumn()), ddl);
Expand Down
Expand Up @@ -80,7 +80,7 @@ public HsqlDbDdlBuilder() {
@Override
protected void dropTable(Table table, StringBuilder ddl, boolean temporary, boolean recreate) {
ddl.append("DROP TABLE ");
printIdentifier(getTableName(table.getName()), ddl);
ddl.append(getFullyQualifiedTableNameShorten(table));
ddl.append(" IF EXISTS");
printEndOfStatement(ddl);
}
Expand Down Expand Up @@ -149,7 +149,7 @@ protected void processTableStructureChanges(Database currentModel, Database desi
protected void processChange(Database currentModel, Database desiredModel,
AddColumnChange change, StringBuilder ddl) {
ddl.append("ALTER TABLE ");
printlnIdentifier(getTableName(change.getChangedTable().getName()), ddl);
ddl.append(getFullyQualifiedTableNameShorten(change.getChangedTable()));
printIndent(ddl);
ddl.append("ADD COLUMN ");
writeColumn(change.getChangedTable(), change.getNewColumn(), ddl);
Expand All @@ -167,7 +167,7 @@ protected void processChange(Database currentModel, Database desiredModel,
protected void processChange(Database currentModel, Database desiredModel,
RemoveColumnChange change, StringBuilder ddl) {
ddl.append("ALTER TABLE ");
printlnIdentifier(getTableName(change.getChangedTable().getName()), ddl);
ddl.append(getFullyQualifiedTableNameShorten(change.getChangedTable()));
printIndent(ddl);
ddl.append("DROP COLUMN ");
printIdentifier(getColumnName(change.getColumn()), ddl);
Expand Down
Expand Up @@ -85,7 +85,7 @@ public HsqlDb2DdlBuilder() {
@Override
protected void dropTable(Table table, StringBuilder ddl, boolean temporary, boolean recreate) {
ddl.append("DROP TABLE ");
printIdentifier(getTableName(table.getName()), ddl);
ddl.append(getFullyQualifiedTableNameShorten(table));
ddl.append(" IF EXISTS");
printEndOfStatement(ddl);
}
Expand Down Expand Up @@ -190,7 +190,7 @@ protected void processTableStructureChanges(Database currentModel, Database desi
protected void processChange(Database currentModel, Database desiredModel,
AddColumnChange change, StringBuilder ddl) {
ddl.append("ALTER TABLE ");
printlnIdentifier(getTableName(change.getChangedTable().getName()), ddl);
ddl.append(getFullyQualifiedTableNameShorten(change.getChangedTable()));
printIndent(ddl);
ddl.append("ADD COLUMN ");
writeColumn(change.getChangedTable(), change.getNewColumn(), ddl);
Expand All @@ -208,7 +208,7 @@ protected void processChange(Database currentModel, Database desiredModel,
protected void processChange(Database currentModel, Database desiredModel,
RemoveColumnChange change, StringBuilder ddl) {
ddl.append("ALTER TABLE ");
printlnIdentifier(getTableName(change.getChangedTable().getName()), ddl);
ddl.append(getFullyQualifiedTableNameShorten(change.getChangedTable()));
printIndent(ddl);
ddl.append("DROP COLUMN ");
printIdentifier(getColumnName(change.getColumn()), ddl);
Expand Down
Expand Up @@ -97,7 +97,7 @@ protected void writeExternalPrimaryKeysCreateStmt(Table table, Column primaryKey
StringBuilder ddl) {
if (primaryKeyColumns.length > 0 && shouldGeneratePrimaryKeys(primaryKeyColumns)) {
ddl.append("ALTER TABLE ");
printlnIdentifier(getTableName(table.getName()), ddl);
ddl.append(getFullyQualifiedTableNameShorten(table));
printIndent(ddl);
ddl.append("ADD CONSTRAINT ");
writePrimaryKeyStmt(table, primaryKeyColumns, ddl);
Expand All @@ -116,7 +116,7 @@ protected void writeExternalForeignKeyCreateStmt(Database database, Table table,
ddl.append("ADD CONSTRAINT FOREIGN KEY (");
writeLocalReferences(key, ddl);
ddl.append(") REFERENCES ");
printIdentifier(getTableName(key.getForeignTableName()), ddl);
ddl.append(getFullyQualifiedTableNameShorten(key.getForeignTable()));
ddl.append(" (");
writeForeignReferences(key, ddl);
ddl.append(") CONSTRAINT ");
Expand All @@ -128,7 +128,7 @@ protected void writeExternalForeignKeyCreateStmt(Database database, Table table,
protected void processChange(Database currentModel, Database desiredModel,
RemovePrimaryKeyChange change, StringBuilder ddl) {
ddl.append("ALTER TABLE ");
printlnIdentifier(getTableName(change.getChangedTable().getName()), ddl);
ddl.append(getFullyQualifiedTableNameShorten(change.getChangedTable()));
printIndent(ddl);
ddl.append("DROP CONSTRAINT ");
printIdentifier(getConstraintName(null, change.getChangedTable(), "PK", null), ddl);
Expand All @@ -139,7 +139,7 @@ protected void processChange(Database currentModel, Database desiredModel,
protected void processChange(Database currentModel, Database desiredModel,
PrimaryKeyChange change, StringBuilder ddl) {
ddl.append("ALTER TABLE ");
printlnIdentifier(getTableName(change.getChangedTable().getName()), ddl);
ddl.append(getFullyQualifiedTableNameShorten(change.getChangedTable()));
printIndent(ddl);
ddl.append("DROP CONSTRAINT ");
printIdentifier(getConstraintName(null, change.getChangedTable(), "PK", null), ddl);
Expand Down
Expand Up @@ -154,7 +154,7 @@ private void writeAutoIncrementCreateStmts(Table table, Column column, StringBui
ddl.append("CREATE TRIGGER ");
printIdentifier(getTriggerName(table, column), ddl);
ddl.append(" FOR ");
printlnIdentifier(getTableName(table.getName()), ddl);
ddl.append(getFullyQualifiedTableNameShorten(table));
println("ACTIVE BEFORE INSERT POSITION 0 AS", ddl);
ddl.append("BEGIN IF (NEW.");
printIdentifier(getColumnName(column), ddl);
Expand Down Expand Up @@ -323,7 +323,7 @@ protected void processTableStructureChanges(Database currentModel, Database desi
protected void processChange(Database currentModel, Database desiredModel,
AddColumnChange change, StringBuilder ddl) {
ddl.append("ALTER TABLE ");
printlnIdentifier(getTableName(change.getChangedTable().getName()), ddl);
ddl.append(getFullyQualifiedTableNameShorten(change.getChangedTable()));
printIndent(ddl);
ddl.append("ADD ");
writeColumn(change.getChangedTable(), change.getNewColumn(), ddl);
Expand All @@ -343,7 +343,7 @@ protected void processChange(Database currentModel, Database desiredModel,
// Even though Interbase can only add columns, we can move them
// later on
ddl.append("ALTER TABLE ");
printlnIdentifier(getTableName(change.getChangedTable().getName()), ddl);
ddl.append(getFullyQualifiedTableNameShorten(change.getChangedTable()));
printIndent(ddl);
ddl.append("ALTER ");
printIdentifier(getColumnName(change.getNewColumn()), ddl);
Expand All @@ -368,7 +368,7 @@ protected void processChange(Database currentModel, Database desiredModel,
writeAutoIncrementDropStmts(change.getChangedTable(), change.getColumn(), ddl);
}
ddl.append("ALTER TABLE ");
printlnIdentifier(getTableName(change.getChangedTable().getName()), ddl);
ddl.append(getFullyQualifiedTableNameShorten(change.getChangedTable()));
printIndent(ddl);
ddl.append("DROP ");
printIdentifier(getColumnName(change.getColumn()), ddl);
Expand Down

0 comments on commit da876a2

Please sign in to comment.