diff --git a/symmetric-db/src/main/java/org/jumpmind/db/platform/db2/Db2DdlBuilder.java b/symmetric-db/src/main/java/org/jumpmind/db/platform/db2/Db2DdlBuilder.java index e463f5ab6b..78afd8eaa7 100644 --- a/symmetric-db/src/main/java/org/jumpmind/db/platform/db2/Db2DdlBuilder.java +++ b/symmetric-db/src/main/java/org/jumpmind/db/platform/db2/Db2DdlBuilder.java @@ -156,19 +156,20 @@ protected void processTableStructureChanges(Database currentModel, Database desi if (change instanceof AddColumnChange) { AddColumnChange addColumnChange = (AddColumnChange) change; - /* DB2 does not allow the GENERATED BY DEFAULT AS IDENTITY - clause in - the ALTER TABLE ADD COLUMN statement, so we have to rebuild - the table instead */ + /* + * DB2 does not allow the GENERATED BY DEFAULT AS IDENTITY + * clause in the ALTER TABLE ADD COLUMN statement, so we have to + * rebuild the table instead + */ if (!addColumnChange.getNewColumn().isAutoIncrement()) { processChange(currentModel, desiredModel, addColumnChange, ddl); changeIt.remove(); } else { return; } - } + } } - + for (Iterator changeIt = changes.iterator(); changeIt.hasNext();) { TableChange change = changeIt.next(); @@ -180,15 +181,15 @@ protected void processTableStructureChanges(Database currentModel, Database desi changeIt.remove(); } } - + for (Iterator changeIt = changes.iterator(); changeIt.hasNext();) { TableChange change = changeIt.next(); if (change instanceof RemoveColumnChange) { - processChange(currentModel, desiredModel, (RemoveColumnChange)change, ddl); - changeIt.remove(); + processChange(currentModel, desiredModel, (RemoveColumnChange) change, ddl); + changeIt.remove(); } else if (change instanceof CopyColumnValueChange) { - CopyColumnValueChange copyColumnChange = (CopyColumnValueChange)change; + CopyColumnValueChange copyColumnChange = (CopyColumnValueChange) change; processChange(currentModel, desiredModel, copyColumnChange, ddl); changeIt.remove(); } @@ -280,4 +281,12 @@ protected void processChange(Database currentModel, Database desiredModel, change.apply(currentModel, delimitedIdentifierModeOn); } + @Override + protected void writeExternalPrimaryKeysCreateStmt(Table table, Column[] primaryKeyColumns, + StringBuilder ddl) { + super.writeExternalPrimaryKeysCreateStmt(table, primaryKeyColumns, ddl); + ddl.append("REORG TABLE "); + printlnIdentifier(getTableName(table.getName()), ddl); + printEndOfStatement(ddl); + } }