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 721020a24e..c032b361ff 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 @@ -1343,20 +1343,14 @@ public void dropTriggers(TriggerHistory history) { protected void dropTriggers(TriggerHistory history, StringBuilder sqlBuffer) { try { - if (StringUtils.isNotBlank(history.getNameForInsertTrigger())) { - symmetricDialect.removeTrigger(sqlBuffer, history.getSourceCatalogName(), history.getSourceSchemaName(), - history.getNameForInsertTrigger(), history.getSourceTableName()); - } + dropTrigger(sqlBuffer, history.getSourceCatalogName(), history.getSourceSchemaName(), + history.getNameForInsertTrigger(), history.getSourceTableName()); - if (StringUtils.isNotBlank(history.getNameForDeleteTrigger())) { - symmetricDialect.removeTrigger(sqlBuffer, history.getSourceCatalogName(), history.getSourceSchemaName(), - history.getNameForDeleteTrigger(), history.getSourceTableName()); - } + dropTrigger(sqlBuffer, history.getSourceCatalogName(), history.getSourceSchemaName(), + history.getNameForDeleteTrigger(), history.getSourceTableName()); - if (StringUtils.isNotBlank(history.getNameForUpdateTrigger())) { - symmetricDialect.removeTrigger(sqlBuffer, history.getSourceCatalogName(), history.getSourceSchemaName(), - history.getNameForUpdateTrigger(), history.getSourceTableName()); - } + dropTrigger(sqlBuffer, history.getSourceCatalogName(), history.getSourceSchemaName(), + history.getNameForUpdateTrigger(), history.getSourceTableName()); if (parameterService.is(ParameterConstants.AUTO_SYNC_TRIGGERS)) { for (ITriggerCreationListener l : extensionService.getExtensionPointList(ITriggerCreationListener.class)) { @@ -1381,6 +1375,16 @@ protected void dropTriggers(TriggerHistory history, StringBuilder sqlBuffer) { log.error("Error while dropping triggers for table {}", history.getSourceTableName(), ex); } } + + protected void dropTrigger(StringBuilder sqlBuffer, String catalog, String schema, String triggerName, String tableName) { + if (StringUtils.isNotBlank(triggerName)) { + try { + symmetricDialect.removeTrigger(sqlBuffer, catalog, schema, triggerName, tableName); + } catch (Throwable e) { + log.error("Error while dropping trigger {} for table {}", triggerName, tableName, e); + } + } + } protected List toList(Collection> source) { ArrayList list = new ArrayList();