diff --git a/symmetric-core/src/main/java/org/jumpmind/symmetric/model/TriggerHistory.java b/symmetric-core/src/main/java/org/jumpmind/symmetric/model/TriggerHistory.java index 2c46e756de..fcc7d00773 100644 --- a/symmetric-core/src/main/java/org/jumpmind/symmetric/model/TriggerHistory.java +++ b/symmetric-core/src/main/java/org/jumpmind/symmetric/model/TriggerHistory.java @@ -108,7 +108,7 @@ public TriggerHistory(Table table, Trigger trigger, AbstractTriggerTemplate trig this.triggerId = trigger.getTriggerId(); this.pkColumnNames = Table.getCommaDeliminatedColumns(trigger.filterExcludedAndIncludedColumns(trigger .getSyncKeysColumnsForTable(table))); - this.isMissingPk = !table.hasPrimaryKey() || Objects.equals(pkColumnNames, columnNames) || StringUtils.isBlank(pkColumnNames); + this.isMissingPk = !table.hasPrimaryKey() || table.isMadeAllColumnsPrimaryKey() || StringUtils.isBlank(pkColumnNames); this.triggerRowHash = trigger.toHashedValue(); this.triggerTemplateHash = triggerTemplate.toHashedValue(); this.tableHash = table.calculateTableHashcode(); diff --git a/symmetric-db/src/main/java/org/jumpmind/db/model/Table.java b/symmetric-db/src/main/java/org/jumpmind/db/model/Table.java index 1d58e83696..c7d81853eb 100644 --- a/symmetric-db/src/main/java/org/jumpmind/db/model/Table.java +++ b/symmetric-db/src/main/java/org/jumpmind/db/model/Table.java @@ -94,6 +94,7 @@ public class Table implements Serializable, Cloneable, Comparable { private String tableNameLowerCase; private ArrayList lobColumns; private CompressionTypes compressionType = CompressionTypes.NONE; + private boolean madeAllColumnsPrimaryKey; public Table() { } @@ -1551,6 +1552,14 @@ public void setCompressionType(CompressionTypes compressionType) { this.compressionType = compressionType; } + public boolean isMadeAllColumnsPrimaryKey() { + return madeAllColumnsPrimaryKey; + } + + public void setMadeAllColumnsPrimaryKey(boolean madeAllColumnsPrimaryKey) { + this.madeAllColumnsPrimaryKey = madeAllColumnsPrimaryKey; + } + static class ColumnPkSequenceComparator implements Comparator { @Override public int compare(Column o1, Column o2) { diff --git a/symmetric-db/src/main/java/org/jumpmind/db/platform/AbstractDatabasePlatform.java b/symmetric-db/src/main/java/org/jumpmind/db/platform/AbstractDatabasePlatform.java index 1755bc2291..f26650fc99 100644 --- a/symmetric-db/src/main/java/org/jumpmind/db/platform/AbstractDatabasePlatform.java +++ b/symmetric-db/src/main/java/org/jumpmind/db/platform/AbstractDatabasePlatform.java @@ -723,6 +723,7 @@ public Table makeAllColumnsPrimaryKeys(Table table) { column.setPrimaryKey(true); } } + result.setMadeAllColumnsPrimaryKey(true); } return result; }