With the eagerly anticipated release of Synergy/DE version 10 we now have the ability to track and manage changes to Synergy DBMS data files. This new feature, Change Tracking, gives you the ability to track and monitor records within a file that have been modified, added or deleted.
Using the snapshot facility you can start a new snapshot within a file and begin your applications normal processing. Any file updates are records against the current snapshot. There can only ever be one active snapshot within a file so as soon as you start a new snapshot, all previous ones become an historical record of the changes made to the file. In code you can access any existing snapshot within a file to trace the activity using the new Select class.
A recent development for a customer required code changes to a number of programs. All the programs together defined a process and it was imperative that my changes didn’t break that process. I wanted to be able to test the changes to the data after running each program and not just when I’d run all the programs for the process. With Change Tracking this was a very easy task. I simply created a new snapshot across all my files before running each program. Using the Symphony Framework and CodeGen I created a simple program that displayed the records within a particular snapshot, so I could easily see what changes the program had made. If a program didn’t do what I had expected (I intentionally coded in a bug just to check this!) I could simply rollback the current transaction, fix the program and continue. I no longer have to restore the data and start my testing from the beginning.
You can see just how easy it is to utilise Change Tracking by watching a short video I’ve uploaded to YouTube. Enjoy!
There are many applications for Change Tracking, and at this year’s DevPartner conference I’ll be exploring this new feature in detail – including having attendees help me demonstrate many of the capabilities!