Skip to content

Commit

Permalink
0002093: Table structure changes, sym_trigger is updated and old tabl…
Browse files Browse the repository at this point in the history
…e structure is used for new trigger
  • Loading branch information
chenson42 committed Dec 9, 2014
1 parent aa9d593 commit 45ac63a
Showing 1 changed file with 9 additions and 9 deletions.
Expand Up @@ -1110,7 +1110,7 @@ public void syncTriggers(StringBuilder sqlBuffer, boolean force) {
List<TriggerHistory> activeTriggerHistories = getActiveTriggerHistories();
inactivateTriggers(triggersForCurrentNode, sqlBuffer, activeTriggerHistories);
updateOrCreateDatabaseTriggers(triggersForCurrentNode, sqlBuffer, force,
true, activeTriggerHistories);
true, activeTriggerHistories, true);
resetTriggerRouterCacheByNodeGroupId();
} finally {
clusterService.unlock(ClusterConstants.SYNCTRIGGERS);
Expand Down Expand Up @@ -1160,7 +1160,7 @@ protected void inactivateTriggers(List<Trigger> triggersThatShouldBeActive,
Set<Table> 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);
}

Expand Down Expand Up @@ -1269,7 +1269,7 @@ protected List<Trigger> getTriggersForCurrentNode() {
.select();
}

protected Set<Table> getTablesForTrigger(Trigger trigger, List<Trigger> triggers) {
protected Set<Table> getTablesForTrigger(Trigger trigger, List<Trigger> triggers, boolean useTableCache) {
Set<Table> tables = new HashSet<Table>();
try {
boolean ignoreCase = this.parameterService
Expand Down Expand Up @@ -1333,7 +1333,7 @@ protected Set<Table> getTablesForTrigger(Trigger trigger, List<Trigger> triggers
} else {
Table table = symmetricDialect.getPlatform().getTableFromCache(
catalogName, schemaName,
trigger.getSourceTableName(), false);
trigger.getSourceTableName(), !useTableCache);
if (table != null) {
tables.add(table);
}
Expand Down Expand Up @@ -1385,15 +1385,15 @@ public void syncTriggers(Table table, boolean force) {
}

protected void updateOrCreateDatabaseTriggers(List<Trigger> triggers, StringBuilder sqlBuffer,
boolean force, boolean verifyInDatabase, List<TriggerHistory> activeTriggerHistories) {
boolean force, boolean verifyInDatabase, List<TriggerHistory> 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<Trigger> triggers,
StringBuilder sqlBuffer, boolean force, boolean verifyInDatabase, List<TriggerHistory> activeTriggerHistories) {
Set<Table> tables = getTablesForTrigger(trigger, triggers);
StringBuilder sqlBuffer, boolean force, boolean verifyInDatabase, List<TriggerHistory> activeTriggerHistories, boolean useTableCache) {
Set<Table> tables = getTablesForTrigger(trigger, triggers, useTableCache);

if (tables != null && tables.size() > 0) {
for (Table table : tables) {
Expand Down Expand Up @@ -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);
Expand Down

0 comments on commit 45ac63a

Please sign in to comment.