From 8717c74dd3d5cf26e33034941b5a7c8ea7e2bef2 Mon Sep 17 00:00:00 2001 From: chenson42 Date: Tue, 28 Oct 2014 14:20:11 +0000 Subject: [PATCH] 0002032: Resolve table name in create trigger statement with default catalog and schema if source catalog and schema are not specified --- .../symmetric/db/mssql/MsSqlTriggerTemplate.java | 12 ++++++++---- .../symmetric/db/AbstractTriggerTemplate.java | 7 +++++++ 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/symmetric-client/src/main/java/org/jumpmind/symmetric/db/mssql/MsSqlTriggerTemplate.java b/symmetric-client/src/main/java/org/jumpmind/symmetric/db/mssql/MsSqlTriggerTemplate.java index 0f11c9840e..1775bbb677 100644 --- a/symmetric-client/src/main/java/org/jumpmind/symmetric/db/mssql/MsSqlTriggerTemplate.java +++ b/symmetric-client/src/main/java/org/jumpmind/symmetric/db/mssql/MsSqlTriggerTemplate.java @@ -93,7 +93,8 @@ public MsSqlTriggerTemplate(ISymmetricDialect symmetricDialect) { " end \n" + " $(custom_on_insert_text) \n" + " if (@NCT = 0) set nocount off \n" + -" end " ); +" end \n" + +" go"); sqlTemplates.put("updateTriggerTemplate" , "create trigger $(triggerName) on $(schemaName)$(tableName) with execute as "+triggerExecuteAs+" after update as \n" + @@ -132,7 +133,8 @@ public MsSqlTriggerTemplate(ISymmetricDialect symmetricDialect) { " end \n" + " $(custom_on_update_text) \n" + " if (@NCT = 0) set nocount off \n" + -" end " ); +" end \n" + +" go"); sqlTemplates.put("updateHandleKeyUpdatesTriggerTemplate" , "create trigger $(triggerName) on $(schemaName)$(tableName) with execute as "+triggerExecuteAs+" after update as \n" + @@ -179,7 +181,8 @@ public MsSqlTriggerTemplate(ISymmetricDialect symmetricDialect) { " end \n" + " $(custom_on_update_text) \n" + " if (@NCT = 0) set nocount off \n" + -" end " ); +" end \n" + +" go"); sqlTemplates.put("deleteTriggerTemplate" , "create trigger $(triggerName) on $(schemaName)$(tableName) with execute as "+triggerExecuteAs+" after delete as \n" + @@ -210,7 +213,8 @@ public MsSqlTriggerTemplate(ISymmetricDialect symmetricDialect) { " end \n" + " $(custom_on_delete_text) \n" + " if (@NCT = 0) set nocount off \n" + -" end " ); +" end \n" + +" go"); sqlTemplates.put("initialLoadSqlTemplate" , "select $(columns) from $(schemaName)$(tableName) t where $(whereClause) " ); diff --git a/symmetric-core/src/main/java/org/jumpmind/symmetric/db/AbstractTriggerTemplate.java b/symmetric-core/src/main/java/org/jumpmind/symmetric/db/AbstractTriggerTemplate.java index 107348a148..c5ebd8bb63 100644 --- a/symmetric-core/src/main/java/org/jumpmind/symmetric/db/AbstractTriggerTemplate.java +++ b/symmetric-core/src/main/java/org/jumpmind/symmetric/db/AbstractTriggerTemplate.java @@ -20,6 +20,7 @@ */ package org.jumpmind.symmetric.db; +import static org.apache.commons.lang.StringUtils.isBlank; import static org.apache.commons.lang.StringUtils.isNotBlank; import java.sql.Types; @@ -247,6 +248,9 @@ protected String getSourceTablePrefix(Table table) { + "." : ""); String catalogPlus = (table.getCatalog() != null ? table.getCatalog() + "." : "") + schemaPlus; + if (isBlank(catalogPlus)) { + catalogPlus = replaceDefaultSchemaAndCatalog(catalogPlus); + } return catalogPlus; } @@ -256,6 +260,9 @@ protected String getSourceTablePrefix(TriggerHistory triggerHistory) { String catalogPlus = (triggerHistory.getSourceCatalogName() != null ? SymmetricUtils.quote(symmetricDialect, triggerHistory .getSourceCatalogName()) + "." : "") + schemaPlus; + if (isBlank(catalogPlus)) { + catalogPlus = replaceDefaultSchemaAndCatalog(catalogPlus); + } return catalogPlus; }