From 29fe3d20686063f7ea59e123e252d91827cc94f7 Mon Sep 17 00:00:00 2001 From: chenson42 Date: Tue, 28 Oct 2014 12:10:06 +0000 Subject: [PATCH] 0002030: For initial load deletes, provide BOTH source and target node replacement variables --- .../org/jumpmind/symmetric/service/impl/DataService.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/DataService.java b/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/DataService.java index cb4f200ceb..dd60787d73 100644 --- a/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/DataService.java +++ b/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/DataService.java @@ -687,11 +687,18 @@ private TriggerHistory lookupTriggerHistory(Trigger trigger) { protected void insertPurgeEvent(ISqlTransaction transaction, Node targetNode, TriggerRouter triggerRouter, TriggerHistory triggerHistory, boolean isLoad, String overrideDeleteStatement, long loadId, String createBy) { + Node sourceNode = engine.getNodeService().findIdentity(); String sql = StringUtils.isNotBlank(overrideDeleteStatement) ? overrideDeleteStatement : symmetricDialect.createPurgeSqlFor(targetNode, triggerRouter, triggerHistory); sql = FormatUtils.replace("groupId", targetNode.getNodeGroupId(), sql); sql = FormatUtils.replace("externalId", targetNode.getExternalId(), sql); sql = FormatUtils.replace("nodeId", targetNode.getNodeId(), sql); + sql = FormatUtils.replace("targetGroupId", targetNode.getNodeGroupId(), sql); + sql = FormatUtils.replace("targetExternalId", targetNode.getExternalId(), sql); + sql = FormatUtils.replace("targetNodeId", targetNode.getNodeId(), sql); + sql = FormatUtils.replace("sourceGroupId", sourceNode.getNodeGroupId(), sql); + sql = FormatUtils.replace("sourceExternalId", sourceNode.getExternalId(), sql); + sql = FormatUtils.replace("sourceNodeId", sourceNode.getNodeId(), sql); String channelId = getReloadChannelIdForTrigger(triggerRouter.getTrigger(), engine .getConfigurationService().getChannels(false)); Data data = new Data(triggerHistory.getSourceTableName(), DataEventType.SQL,