From 94236e55f3885308d1753fdcb3585da154be8159 Mon Sep 17 00:00:00 2001 From: Eric Long Date: Mon, 2 Nov 2020 16:50:02 -0500 Subject: [PATCH] 0004591: improve defensive code --- .../symmetric/load/DefaultDataLoaderFactory.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/symmetric-core/src/main/java/org/jumpmind/symmetric/load/DefaultDataLoaderFactory.java b/symmetric-core/src/main/java/org/jumpmind/symmetric/load/DefaultDataLoaderFactory.java index 8dd77b881a..a9bf69fb38 100644 --- a/symmetric-core/src/main/java/org/jumpmind/symmetric/load/DefaultDataLoaderFactory.java +++ b/symmetric-core/src/main/java/org/jumpmind/symmetric/load/DefaultDataLoaderFactory.java @@ -207,7 +207,7 @@ protected void handleWinnerForNewerCaptureWins(ISqlTransaction transaction, CsvD long createTime = data.getCreateTime() != null ? data.getCreateTime().getTime() : 0; String script = "if (context != void && context != null) { " + "engine.getDataService().sendNewerDataToNode(context.findTransaction(), SOURCE_NODE_ID, \"" + - tableName + "\", " + CsvUtils.escapeCsvData(getPkCsvData(csvData, hist)) + ", new Date(" + + tableName + "\", " + pkCsvData + ", new Date(" + createTime +"L), \"" + sourceNodeId + "\"); }"; Data scriptData = new Data(tableName, DataEventType.BSH, CsvUtils.escapeCsvData(script), null, hist, Constants.CHANNEL_RELOAD, null, null); @@ -219,8 +219,8 @@ protected void handleWinnerForNewerCaptureWins(ISqlTransaction transaction, CsvD } protected String getPkCsvData(CsvData csvData, TriggerHistory hist) { - String pkCsvData = null; - if (csvData.getDataEventType() == DataEventType.INSERT) { + String pkCsvData = csvData.getCsvData(CsvData.PK_DATA); + if (pkCsvData == null) { if (hist.getParsedPkColumnNames() != null && hist.getParsedPkColumnNames().length > 0) { String[] pkData = new String[hist.getParsedPkColumnNames().length]; Map values = csvData.toColumnNameValuePairs(hist.getParsedPkColumnNames(), CsvData.ROW_DATA); @@ -229,9 +229,9 @@ protected String getPkCsvData(CsvData csvData, TriggerHistory hist) { pkData[i++] = values.get(name); } pkCsvData = CsvUtils.escapeCsvData(pkData); + } else { + pkCsvData = csvData.getCsvData(CsvData.ROW_DATA); } - } else { - pkCsvData = csvData.getCsvData(CsvData.PK_DATA); } return pkCsvData; }