diff --git a/symmetric-io/src/main/java/org/jumpmind/symmetric/io/data/writer/TransformWriter.java b/symmetric-io/src/main/java/org/jumpmind/symmetric/io/data/writer/TransformWriter.java index a0a379d8fa..a9a0bdc621 100644 --- a/symmetric-io/src/main/java/org/jumpmind/symmetric/io/data/writer/TransformWriter.java +++ b/symmetric-io/src/main/java/org/jumpmind/symmetric/io/data/writer/TransformWriter.java @@ -99,9 +99,15 @@ public void start(Batch batch) { @Override public boolean start(Table table) { - activeTransforms = transformsBySourceTable.get(table.getFullyQualifiedTableNameLowerCase()); - if (activeTransforms != null && activeTransforms.size() > 0) { + List activeTransformsTemp = transformsBySourceTable.get(table.getFullyQualifiedTableNameLowerCase()); + if (activeTransformsTemp != null && activeTransformsTemp.size() > 0) { this.sourceTable = table; + activeTransforms = new ArrayList(activeTransformsTemp.size()); + for (TransformTable transformation : activeTransformsTemp) { + activeTransforms.add(transformation.enhanceWithImpliedColumns( + this.sourceTable.getPrimaryKeyColumnNames(), + this.sourceTable.getColumnNames())); + } return true; } else { this.sourceTable = null; @@ -161,9 +167,6 @@ public void write(CsvData data) { } for (TransformTable transformation : transformTables) { - transformation = transformation.enhanceWithImpliedColumns( - this.sourceTable.getPrimaryKeyColumnNames(), - this.sourceTable.getColumnNames()); if (eventType == DataEventType.INSERT && transformation.isUpdateFirst()) { eventType = DataEventType.UPDATE; }