From fc1b003d6b5c4aa14155d14c80866a030e4664aa Mon Sep 17 00:00:00 2001 From: evan-miller-jumpmind <70151986+evan-miller-jumpmind@users.noreply.github.com> Date: Thu, 29 Jun 2023 15:26:23 -0400 Subject: [PATCH] 0005904: Fixed LOB data not syncing when sending a load with use_stream_lobs=1 --- .../jumpmind/symmetric/db/AbstractTriggerTemplate.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) 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 dde7e486ef..ee257226ab 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 @@ -160,7 +160,7 @@ public String createInitalLoadSql(Node node, TriggerRouter triggerRouter, Table if (useTriggerTemplateForColumnTemplatesDuringInitialLoad(column)) { ColumnString columnString = fillOutColumnTemplate(tableAlias, tableAlias, "", table, column, DataEventType.INSERT, false, channel, - triggerRouter.getTrigger()); + triggerRouter.getTrigger(), true); columnExpression = columnString.columnString; if (isNotBlank(textColumnExpression) && TypeMap.isTextType(column.getMappedTypeCode())) { @@ -777,7 +777,7 @@ protected ColumnString buildColumnsString(String origTableAlias, String tableAli Column column = columns[i]; if (column != null) { ColumnString columnString = fillOutColumnTemplate(origTableAlias, tableAlias, - columnPrefix, table, column, dml, isOld, channel, trigger); + columnPrefix, table, column, dml, isOld, channel, trigger, false); columnsText = columnsText + "\n " + columnString.columnString + lastCommandToken; containsLob |= columnString.isBlobClob; @@ -792,7 +792,7 @@ protected ColumnString buildColumnsString(String origTableAlias, String tableAli protected ColumnString fillOutColumnTemplate(String origTableAlias, String tableAlias, String columnPrefix, Table table, Column column, DataEventType dml, boolean isOld, Channel channel, - Trigger trigger) { + Trigger trigger, boolean ignoreStreamLobs) { boolean isLob = symmetricDialect.getPlatform().isLob(column.getMappedTypeCode()); String templateToUse = null; if (column.getJdbcTypeName() != null @@ -925,7 +925,7 @@ protected ColumnString fillOutColumnTemplate(String origTableAlias, String table } if (dml == DataEventType.DELETE && isLob && requiresEmptyLobTemplateForDeletes()) { templateToUse = emptyColumnTemplate; - } else if (isLob && trigger.isUseStreamLobs()) { + } else if (isLob && trigger.isUseStreamLobs() && !ignoreStreamLobs) { templateToUse = emptyColumnTemplate; } if (templateToUse != null) {