0
votes

I'm using Merge Rows diff() step to compare the two data sets. Set A are the records from source(compare rows) and set B are the records from target (reference rows). Merge rows diff raises a flag "changed" when the records are actually "identical". I'm inserting or updating a record in my target table using "Synchronize after merge" step which inserts when records are "new" and updates the record when the records are "changed". So, every time when I execute my transformation it always shows the flag as changed which could not happen.

My two data sets are from postgres database. Used "Sort rows" step sorted the two data sets on a primary key field in the transformation. In Merge rows step, I used "key field" to match the records in both streams. and compared the value fields

I want expect the exact behavior with merge rows diff flag If the value is changed - I want to see the flag as "changed" if the record value is identical - I want to see the flag as "identical" When there is new coming from the source - i want to see the flag as "new"

Synchronize After merge step

Transformation file Merge rows diff step sorted source sorted target

1

1 Answers

0
votes

Double check; triple check. There is some difference, somewhere. And don't forget about leading or trailing whitespace.

Are you absolutely sure that systemmmodstamp has the same value in both cases?