From 3693ccf4de0956b77713940f915db109d8361dcb Mon Sep 17 00:00:00 2001 From: chenson42 Date: Fri, 27 Jun 2014 17:09:42 +0000 Subject: [PATCH] 0001782: initial.load.create.first fails for tables with a unique index on the primary key --- .../java/org/jumpmind/db/platform/AbstractDdlBuilder.java | 7 ++++--- .../org/jumpmind/db/platform/oracle/OracleDdlBuilder.java | 1 + 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/symmetric-db/src/main/java/org/jumpmind/db/platform/AbstractDdlBuilder.java b/symmetric-db/src/main/java/org/jumpmind/db/platform/AbstractDdlBuilder.java index 913da8aec4..b3a7eb46a8 100644 --- a/symmetric-db/src/main/java/org/jumpmind/db/platform/AbstractDdlBuilder.java +++ b/symmetric-db/src/main/java/org/jumpmind/db/platform/AbstractDdlBuilder.java @@ -1199,12 +1199,13 @@ protected void createTable(Table table, StringBuilder ddl, boolean temporary, bo writeTableCreationStmt(table, ddl); writeTableCreationStmtEnding(table, ddl); - if (!databaseInfo.isPrimaryKeyEmbedded()) { - writeExternalPrimaryKeysCreateStmt(table, table.getPrimaryKeyColumns(), ddl); - } if (!databaseInfo.isIndicesEmbedded()) { writeExternalIndicesCreateStmt(table, ddl); } + + if (!databaseInfo.isPrimaryKeyEmbedded()) { + writeExternalPrimaryKeysCreateStmt(table, table.getPrimaryKeyColumns(), ddl); + } } /** diff --git a/symmetric-db/src/main/java/org/jumpmind/db/platform/oracle/OracleDdlBuilder.java b/symmetric-db/src/main/java/org/jumpmind/db/platform/oracle/OracleDdlBuilder.java index ca7d1b8f5a..9191b05768 100644 --- a/symmetric-db/src/main/java/org/jumpmind/db/platform/oracle/OracleDdlBuilder.java +++ b/symmetric-db/src/main/java/org/jumpmind/db/platform/oracle/OracleDdlBuilder.java @@ -95,6 +95,7 @@ public OracleDdlBuilder() { databaseInfo.setDefaultSize(Types.BINARY, 254); databaseInfo.setDefaultSize(Types.VARBINARY, 254); + databaseInfo.setPrimaryKeyEmbedded(false); databaseInfo.setDateOverridesToTimestamp(true); databaseInfo.setNonBlankCharColumnSpacePadded(true); databaseInfo.setBlankCharColumnSpacePadded(true);