Skip to content

Commit

Permalink
SYMMETRICDS-540 - fix mssql issue
Browse files Browse the repository at this point in the history
  • Loading branch information
chenson42 committed Nov 9, 2011
1 parent 506a11e commit e595f90
Show file tree
Hide file tree
Showing 5 changed files with 25 additions and 18 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,6 @@
* during registration. There may be only one node generator per SymmetricDS instance.
* </p>
* The default implementation of this is the {@link DefaultNodeIdGenerator}
*
*
*/
public interface INodeIdGenerator extends IExtensionPoint {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -343,10 +343,19 @@ public String replaceTemplateVariables(IDbDialect dialect, DataEventType dml, Tr
ddl);
ddl = AppUtils.replace("declareNewKeyVariables", buildKeyVariablesDeclare(columns, "new"),
ddl);
ddl = AppUtils.replace("oldKeyNames", buildColumnNameString(oldTriggerValue, columns), ddl);
ddl = AppUtils.replace("newKeyNames", buildColumnNameString(newTriggerValue, columns), ddl);
ddl = AppUtils.replace("oldKeyVariables", buildKeyVariablesString(columns, "old"), ddl);
ddl = AppUtils.replace("newKeyVariables", buildKeyVariablesString(columns, "new"), ddl);

String builtString = buildColumnNameString(oldTriggerValue, columns);
ddl = AppUtils.replace("oldKeyNames", StringUtils.isNotBlank(builtString) ? ","+builtString:"", ddl);

builtString = buildColumnNameString(newTriggerValue, columns);
ddl = AppUtils.replace("newKeyNames", StringUtils.isNotBlank(builtString) ? ","+builtString:"", ddl);

builtString = buildKeyVariablesString(columns, "old");
ddl = AppUtils.replace("oldKeyVariables", StringUtils.isNotBlank(builtString) ? ","+builtString:"", ddl);

builtString = buildKeyVariablesString(columns, "new");
ddl = AppUtils.replace("newKeyVariables", StringUtils.isNotBlank(builtString) ? ","+builtString:"", ddl);

ddl = AppUtils.replace("varNewPrimaryKeyJoin",
aliasedPrimaryKeyJoinVar(newTriggerValue, "new", columns), ddl);
ddl = AppUtils.replace("varOldPrimaryKeyJoin",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -277,6 +277,7 @@ protected TriggerRouter buildRegistrationTriggerRouter(String version, String ta
trigger.setChannelId(Constants.CHANNEL_CONFIG);

Router router = triggerRouter.getRouter();
router.setRouterId("configurationChanged");
router.setRouterType("configurationChanged");
router.setNodeGroupLink(nodeGroupLink);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,6 @@ public static File createTempFile(String token) throws IOException {
* Clean up files created by {@link #createTempFile(String)}. This only be
* called while the engine is not synchronizing!
*/
@SuppressWarnings("unchecked")
public synchronized static void cleanupTempFiles() {
if (!alreadyCleaned) {
alreadyCleaned = true;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -123,16 +123,16 @@
if ($(syncOnIncomingBatchCondition)) begin
declare DataCursor cursor local for
$(if:containsBlobClobColumns)
select $(columns), $(newKeyNames) from inserted inner join $(schemaName)$(tableName) $(origTableAlias) on $(tableNewPrimaryKeyJoin) where $(syncOnInsertCondition)
select $(columns) $(newKeyNames) from inserted inner join $(schemaName)$(tableName) $(origTableAlias) on $(tableNewPrimaryKeyJoin) where $(syncOnInsertCondition)
$(else:containsBlobClobColumns)
select $(columns), $(newKeyNames) from inserted where $(syncOnInsertCondition)
select $(columns) $(newKeyNames) from inserted where $(syncOnInsertCondition)
$(end:containsBlobClobColumns)
open DataCursor
fetch next from DataCursor into @DataRow, $(newKeyVariables)
fetch next from DataCursor into @DataRow $(newKeyVariables)
while @@FETCH_STATUS = 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)', $(txIdExpression), $(defaultCatalog)dbo.$[sym.sync.table.prefix]_node_disabled(), $(externalSelect), current_timestamp)
fetch next from DataCursor into @DataRow, $(newKeyVariables)
fetch next from DataCursor into @DataRow $(newKeyVariables)
end
close DataCursor
deallocate DataCursor
Expand Down Expand Up @@ -160,16 +160,16 @@
if ($(syncOnIncomingBatchCondition)) begin
declare DataCursor cursor local for
$(if:containsBlobClobColumns)
select $(columns), $(oldKeys), $(oldColumns), $(oldKeyNames), $(newKeyNames) from inserted inner join $(schemaName)$(tableName) $(origTableAlias) on $(tableNewPrimaryKeyJoin) inner join deleted on $(oldNewPrimaryKeyJoin) where $(syncOnUpdateCondition)
select $(columns), $(oldKeys), $(oldColumns) $(oldKeyNames) $(newKeyNames) from inserted inner join $(schemaName)$(tableName) $(origTableAlias) on $(tableNewPrimaryKeyJoin) inner join deleted on $(oldNewPrimaryKeyJoin) where $(syncOnUpdateCondition)
$(else:containsBlobClobColumns)
select $(columns), $(oldKeys), $(oldColumns), $(oldKeyNames), $(newKeyNames) from inserted inner join deleted on $(oldNewPrimaryKeyJoin) where $(syncOnUpdateCondition)
select $(columns), $(oldKeys), $(oldColumns) $(oldKeyNames) $(newKeyNames) from inserted inner join deleted on $(oldNewPrimaryKeyJoin) where $(syncOnUpdateCondition)
$(end:containsBlobClobColumns)
open DataCursor
fetch next from DataCursor into @DataRow, @OldPk, @OldDataRow, $(oldKeyVariables), $(newKeyVariables)
fetch next from DataCursor into @DataRow, @OldPk, @OldDataRow $(oldKeyVariables) $(newKeyVariables)
while @@FETCH_STATUS = 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)', $(txIdExpression), $(defaultCatalog)dbo.$[sym.sync.table.prefix]_node_disabled(), $(externalSelect), current_timestamp)
fetch next from DataCursor into @DataRow, @OldPk, @OldDataRow, $(oldKeyVariables), $(newKeyVariables)
fetch next from DataCursor into @DataRow, @OldPk, @OldDataRow $(oldKeyVariables) $(newKeyVariables)
end
close DataCursor
deallocate DataCursor
Expand All @@ -194,13 +194,13 @@
end
if ($(syncOnIncomingBatchCondition)) begin
declare DataCursor cursor local for
select $(oldKeys), $(oldColumns), $(oldKeyNames) from deleted where $(syncOnDeleteCondition)
select $(oldKeys), $(oldColumns) $(oldKeyNames) from deleted where $(syncOnDeleteCondition)
open DataCursor
fetch next from DataCursor into @OldPk, @OldDataRow, $(oldKeyVariables)
fetch next from DataCursor into @OldPk, @OldDataRow $(oldKeyVariables)
while @@FETCH_STATUS = 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)', $(txIdExpression), $(defaultCatalog)dbo.$[sym.sync.table.prefix]_node_disabled(), $(externalSelect), current_timestamp)
fetch next from DataCursor into @OldPk,@OldDataRow, $(oldKeyVariables)
fetch next from DataCursor into @OldPk,@OldDataRow $(oldKeyVariables)
end
close DataCursor
deallocate DataCursor
Expand Down

0 comments on commit e595f90

Please sign in to comment.