Skip to content

Commit

Permalink
0001648: Add support for choosing the channel a trigger/table will us…
Browse files Browse the repository at this point in the history
…e dynamically
  • Loading branch information
chenson42 committed Mar 23, 2014
1 parent c7d6061 commit 6a5085c
Show file tree
Hide file tree
Showing 30 changed files with 110 additions and 67 deletions.
Expand Up @@ -20,6 +20,7 @@
*/
package org.jumpmind.symmetric.db;

import org.apache.commons.lang.StringUtils;
import org.jumpmind.db.model.Table;
import org.jumpmind.db.platform.IDatabasePlatform;
import org.jumpmind.symmetric.model.Channel;
Expand Down Expand Up @@ -76,10 +77,14 @@ public String getInitialLoadTableAlias() {

@Override
public String preProcessTriggerSqlClause(String sqlClause) {
sqlClause = sqlClause.replace("$(newTriggerValue).", "$(newTriggerValue)");
sqlClause = sqlClause.replace("$(oldTriggerValue).", "$(oldTriggerValue)");
sqlClause = sqlClause.replace("$(curTriggerValue).", "$(curTriggerValue)");
return sqlClause.replace("'", "''");
if (StringUtils.isNotBlank(sqlClause)) {
sqlClause = sqlClause.replace("$(newTriggerValue).", "$(newTriggerValue)");
sqlClause = sqlClause.replace("$(oldTriggerValue).", "$(oldTriggerValue)");
sqlClause = sqlClause.replace("$(curTriggerValue).", "$(curTriggerValue)");
return sqlClause.replace("'", "''");
} else {
return sqlClause;
}
}

@Override
Expand Down
Expand Up @@ -83,7 +83,7 @@ public AseTriggerTemplate(ISymmetricDialect symmetricDialect) {
" fetch DataCursor into @DataRow $(newKeyVariables) " +
" while @@sqlstatus = 0 begin " +
" insert into $(defaultCatalog)$(defaultSchema)$(prefixName)_data (table_name, event_type, trigger_hist_id, row_data, channel_id, transaction_id, source_node_id, external_data, create_time) " +
" values('$(targetTableName)','I', $(triggerHistoryId), @DataRow, '$(channelName)', @txid, @clientname, $(externalSelect), getdate()) " +
" values('$(targetTableName)','I', $(triggerHistoryId), @DataRow, $(channelExpression), @txid, @clientname, $(externalSelect), getdate()) " +
" fetch DataCursor into @DataRow $(newKeyVariables) " +
" end " +
" close DataCursor " +
Expand Down Expand Up @@ -124,7 +124,7 @@ public AseTriggerTemplate(ISymmetricDialect symmetricDialect) {
" fetch DataCursor into @DataRow, @OldPk, @OldDataRow $(oldKeyVariables) $(newKeyVariables) " +
" while @@sqlstatus = 0 begin " +
" insert into $(defaultCatalog)$(defaultSchema)$(prefixName)_data (table_name, event_type, trigger_hist_id, row_data, pk_data, old_data, channel_id, transaction_id, source_node_id, external_data, create_time) " +
" values('$(targetTableName)','U', $(triggerHistoryId), @DataRow, @OldPk, @OldDataRow, '$(channelName)', @txid, @clientname, $(externalSelect), getdate())" +
" values('$(targetTableName)','U', $(triggerHistoryId), @DataRow, @OldPk, @OldDataRow, $(channelExpression), @txid, @clientname, $(externalSelect), getdate())" +
" fetch DataCursor into @DataRow, @OldPk, @OldDataRow $(oldKeyVariables) $(newKeyVariables) " +
" end " +
" close DataCursor " +
Expand Down Expand Up @@ -157,7 +157,7 @@ public AseTriggerTemplate(ISymmetricDialect symmetricDialect) {
" fetch DataCursor into @OldPk, @OldDataRow $(oldKeyVariables) " +
" while @@sqlstatus = 0 begin " +
" insert into $(defaultCatalog)$(defaultSchema)$(prefixName)_data (table_name, event_type, trigger_hist_id, pk_data, old_data, channel_id, transaction_id, source_node_id, external_data, create_time) " +
" values('$(targetTableName)','D', $(triggerHistoryId), @OldPk, @OldDataRow, '$(channelName)', @txid, @clientname, $(externalSelect), getdate())" +
" values('$(targetTableName)','D', $(triggerHistoryId), @OldPk, @OldDataRow, $(channelExpression), @txid, @clientname, $(externalSelect), getdate())" +
" fetch DataCursor into @OldPk,@OldDataRow $(oldKeyVariables) " +
" end " +
" close DataCursor " +
Expand Down
Expand Up @@ -60,7 +60,7 @@ public Db2TriggerTemplate(ISymmetricDialect symmetricDialect) {
" (table_name, event_type, trigger_hist_id, row_data, channel_id, transaction_id, source_node_id, external_data, create_time) " +
" VALUES('$(targetTableName)', 'I', $(triggerHistoryId), " +
" $(columns), " +
" '$(channelName)', $(txIdExpression), $(sourceNodeExpression), " +
" $(channelExpression), $(txIdExpression), $(sourceNodeExpression), " +
" $(externalSelect), " +
" CURRENT_TIMESTAMP); " +
" END IF; " +
Expand All @@ -85,7 +85,7 @@ public Db2TriggerTemplate(ISymmetricDialect symmetricDialect) {
" $(oldKeys), " +
" var_row_data, " +
" var_old_data, " +
" '$(channelName)', " +
" $(channelExpression), " +
" $(txIdExpression), " +
" $(sourceNodeExpression), " +
" $(externalSelect), " +
Expand All @@ -107,7 +107,7 @@ public Db2TriggerTemplate(ISymmetricDialect symmetricDialect) {
" VALUES ('$(targetTableName)', 'D', $(triggerHistoryId), " +
" $(oldKeys), " +
" $(oldColumns), " +
" '$(channelName)', " +
" $(channelExpression), " +
" $(txIdExpression), " +
" $(sourceNodeExpression), " +
" $(externalSelect), " +
Expand Down
Expand Up @@ -62,7 +62,7 @@ public DerbyTriggerTemplate(ISymmetricDialect symmetricDialect) {
" call $(prefixName)_save_data( \n" +
" case when $(syncOnInsertCondition) and $(syncOnIncomingBatchCondition) then 1 else 0 end, \n" +
" '$(defaultSchema)', '$(prefixName)', '$(targetTableName)', \n" +
" '$(channelName)', 'I', $(triggerHistoryId), \n" +
" $(channelExpression), 'I', $(triggerHistoryId), \n" +
" $(txIdExpression), \n" +
" $(externalSelect), \n" +
" '$(columnNames)', \n" +
Expand All @@ -76,7 +76,7 @@ public DerbyTriggerTemplate(ISymmetricDialect symmetricDialect) {
" call $(prefixName)_save_data( \n" +
" case when $(syncOnUpdateCondition) and $(syncOnIncomingBatchCondition) then 1 else 0 end, \n" +
" '$(defaultSchema)', '$(prefixName)', '$(targetTableName)', \n" +
" '$(channelName)', 'U', $(triggerHistoryId), \n" +
" $(channelExpression), 'U', $(triggerHistoryId), \n" +
" $(txIdExpression), \n" +
" $(externalSelect), \n" +
" '$(columnNames)', \n" +
Expand All @@ -90,7 +90,7 @@ public DerbyTriggerTemplate(ISymmetricDialect symmetricDialect) {
" call $(prefixName)_save_data( \n" +
" case when $(syncOnDeleteCondition) and $(syncOnIncomingBatchCondition) then 1 else 0 end, \n" +
" '$(defaultSchema)', '$(prefixName)', '$(targetTableName)', \n" +
" '$(channelName)', 'D', $(triggerHistoryId), \n" +
" $(channelExpression), 'D', $(triggerHistoryId), \n" +
" $(txIdExpression), \n" +
" $(externalSelect), \n" +
" '$(columnNames)', \n" +
Expand Down
Expand Up @@ -59,7 +59,7 @@ public FirebirdTriggerTemplate(ISymmetricDialect symmetricDialect) {
" 'I', \n" +
" $(triggerHistoryId), \n" +
" $(columns), \n" +
" '$(channelName)', \n" +
" $(channelExpression), \n" +
" $(txIdExpression), \n" +
" rdb$get_context('USER_SESSION', 'sync_node_disabled'), \n" +
" $(externalSelect), \n" +
Expand All @@ -85,7 +85,7 @@ public FirebirdTriggerTemplate(ISymmetricDialect symmetricDialect) {
" $(oldKeys), \n" +
" $(columns), \n" +
" $(oldColumns), \n" +
" '$(channelName)', \n" +
" $(channelExpression), \n" +
" $(txIdExpression), \n" +
" rdb$get_context('USER_SESSION', 'sync_node_disabled'), \n" +
" $(externalSelect), \n" +
Expand All @@ -110,7 +110,7 @@ public FirebirdTriggerTemplate(ISymmetricDialect symmetricDialect) {
" $(triggerHistoryId), \n" +
" $(oldKeys), \n" +
" $(oldColumns), \n" +
" '$(channelName)', \n" +
" $(channelExpression), \n" +
" $(txIdExpression), \n" +
" rdb$get_context('USER_SESSION', 'sync_node_disabled'), \n" +
" $(externalSelect), \n" +
Expand Down

0 comments on commit 6a5085c

Please sign in to comment.