From 45ac63a4eac725050aa9a751ed4600b6af759adf Mon Sep 17 00:00:00 2001 From: chenson42 Date: Tue, 9 Dec 2014 12:47:46 +0000 Subject: [PATCH] 0002093: Table structure changes, sym_trigger is updated and old table structure is used for new trigger --- .../service/impl/TriggerRouterService.java | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/TriggerRouterService.java b/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/TriggerRouterService.java index af991c8f21..4e4d08f4c6 100644 --- a/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/TriggerRouterService.java +++ b/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/TriggerRouterService.java @@ -1110,7 +1110,7 @@ public void syncTriggers(StringBuilder sqlBuffer, boolean force) { List activeTriggerHistories = getActiveTriggerHistories(); inactivateTriggers(triggersForCurrentNode, sqlBuffer, activeTriggerHistories); updateOrCreateDatabaseTriggers(triggersForCurrentNode, sqlBuffer, force, - true, activeTriggerHistories); + true, activeTriggerHistories, true); resetTriggerRouterCacheByNodeGroupId(); } finally { clusterService.unlock(ClusterConstants.SYNCTRIGGERS); @@ -1160,7 +1160,7 @@ protected void inactivateTriggers(List triggersThatShouldBeActive, Set tables = tablesByTriggerId.get(history.getTriggerId()); Trigger trigger = getTriggerFromList(history.getTriggerId(), triggersThatShouldBeActive); if (tables == null && trigger != null) { - tables = getTablesForTrigger(trigger, triggersThatShouldBeActive); + tables = getTablesForTrigger(trigger, triggersThatShouldBeActive, false); tablesByTriggerId.put(trigger.getTriggerId(), tables); } @@ -1269,7 +1269,7 @@ protected List getTriggersForCurrentNode() { .select(); } - protected Set
getTablesForTrigger(Trigger trigger, List triggers) { + protected Set
getTablesForTrigger(Trigger trigger, List triggers, boolean useTableCache) { Set
tables = new HashSet
(); try { boolean ignoreCase = this.parameterService @@ -1333,7 +1333,7 @@ protected Set
getTablesForTrigger(Trigger trigger, List triggers } else { Table table = symmetricDialect.getPlatform().getTableFromCache( catalogName, schemaName, - trigger.getSourceTableName(), false); + trigger.getSourceTableName(), !useTableCache); if (table != null) { tables.add(table); } @@ -1385,15 +1385,15 @@ public void syncTriggers(Table table, boolean force) { } protected void updateOrCreateDatabaseTriggers(List triggers, StringBuilder sqlBuffer, - boolean force, boolean verifyInDatabase, List activeTriggerHistories) { + boolean force, boolean verifyInDatabase, List activeTriggerHistories, boolean useTableCache) { for (Trigger trigger : triggers) { - updateOrCreateDatabaseTrigger(trigger, triggers, sqlBuffer, force, verifyInDatabase, activeTriggerHistories); + updateOrCreateDatabaseTrigger(trigger, triggers, sqlBuffer, force, verifyInDatabase, activeTriggerHistories, useTableCache); } } protected void updateOrCreateDatabaseTrigger(Trigger trigger, List triggers, - StringBuilder sqlBuffer, boolean force, boolean verifyInDatabase, List activeTriggerHistories) { - Set
tables = getTablesForTrigger(trigger, triggers); + StringBuilder sqlBuffer, boolean force, boolean verifyInDatabase, List activeTriggerHistories, boolean useTableCache) { + Set
tables = getTablesForTrigger(trigger, triggers, useTableCache); if (tables != null && tables.size() > 0) { for (Table table : tables) { @@ -1439,7 +1439,7 @@ public void syncTrigger(Trigger trigger, ITriggerCreationListener listener, bool } } updateOrCreateDatabaseTrigger(trigger, triggersForCurrentNode, sqlBuffer, - force, verifyInDatabase, allHistories); + force, verifyInDatabase, allHistories, false); } else { for (TriggerHistory triggerHistory : getActiveTriggerHistories(trigger)) { dropTriggers(triggerHistory, sqlBuffer);