Category Archives: Uncategorized

CopyCat Developer v. 3.9

CopyCat Developer 3.9 released!

Changes in this release include:
  • Improvements in the RTC inverted connection mechanism.
  • Major improvements in the trigger mechanism when in ReplicateOnlyChangedFields mode. The list of fields is now calculated dynamically in the trigger (instead of being hard-coded in the trigger), meaning that you don’t need to recreate the triggers after adding a field. It also means that the triggers create no dependency on your fields, so you can drop fields or even change the primary key definition without having to drop and recreate your triggers.
  • Fixed a bug causing replication to abort incorrectly after a timeout when a connection was lost due to a timeout from a very slow connection, when replicating over a transport layer (RTC or XMLRPC), sometimes resulting in a row being wrongly deleted from the destination database.
  • Various other minor bug fixes

CopyCat LiveMirror 1.5

LiveMirror 1.5 is available, bringing a number of small bug fixes, as well as a vastly improved trigger mechanism allowing to replicate changes field by field rather than by whole rows. This means that problems that used to occur with replication order (particalarly foreign key violations that were sometimes inevitable), should now never happen at all.

  The new trigger mechanism also allows for the primary key fields of the changed row to be found dynamically, meaning that you can now drop or recreate a primary key without having to recreate the triggers, and the change will automatically be detected in the triggers. This makes LiveMirror more seamless than ever.

  If you’ve been experiencing any problems with previous vesions of LiveMirror, please give this new release a try! And don’t forget you can contact us through the support forum if you need any help getting things working.

CopyCat Developer 3.8.2

Changes in this release:
  • New feature in RTC transport to allow backwards connections: the client contacts the server, the server keeps the client connection open until needed, and can therefore replicate towards the client when needed (upon initiative from the server). That means that you can put all the replication logic on the server rather than the client, even if the client has no static IP or is behind a firewall.
  • Added support for Delphi XE8 and Delphi 10 Seattle.
  • Added new option for tracking inconsistent deleted when using an RTC transport over a flaky unreliable connection. Property TCcReplicator.TrackInconsistentDeletes (disabled by default, and should only be used with RTC).
  • TCcReplicator: fixed an issue that sometimes occured during replication when ReplicateOnlyChangedFields=true (cf.
  • TCcReplicator: fixed an issue causing tracing mechanism to fail.
  • TCcConfig: ConnectAndRemoveConfig method didn’t remove RPL$LOG_VALUES
  • TCcReplicator: added caching of PK data types to avoid having to perform a query to find it out for every record during replication.
  • TCcReplicator: fixed a few bugs related to conflict management and resolution when using the new MergeChangedFields option.
  • Various minor bug fixes.

Meet us at the Firebird conference in Prague

I will be speaking at the Firebird conference in Prague on the 24th and 25th of October 2014, presenting recent changes in CopyCat, offering a hands-on demonstation, answering questions, and so on… So if you are curious about CopyCat and plan to attend the conference, I hope to meet up with you !

CopyCat LiveMirror 1.3 is out!

I am pleased to announce that CopyCat LiveMirror 1.3 is officially available! You can download the evaluation version here, or the registered version from your private user area. Changes in this release :
  • Various core changes and minor bug fixes.
  • Fixed bug saving database configuration data.
  • Fixed bug causing errors with wide string fields in some situations.
  • Improved log viewer window so that it’s responsive even when holding a large log file.
  • Added an error reporting module allowing for more detailed error messages and bug reports.
  • Fixed bug causing automatic replication to stop after database connection loss. In such a case, LiveMirror will now continue trying to reestablish a connection every time replication fires.
  • LiveMirror now excludes fields with errorneous field names (DATE, TYPE, USER, etc) that were allowed in older versions of Firebird and can still be present in some databases.
  • Automatically grant full rights to all users for RPL$ system tables created by LiveMirror, so that there will be no error when inserting into RPL$LOG through the triggers when a user makes changes to the database.

Porting old C++Builder software to new versions

C++Builder upgrader

Do you have projects stuck in the old versions of C++Builder? We’ve been using C++Builder since version 1, and the time has come to upgrade our projects from C++Builder 5 to the latest and greatest XE6. This has required multiple component replacements however (notably FIBPlus, which seems to be dead), and since we ended up creating a faily complex script, I figured it might be of interest to others, so I’m posting it here.

Continue reading


Just uploaded a patch for LiveMirror that fixes a small but important bug that had broken the log file creation entirely. Please download to get the fix. As usual, to avoid having to recreate your configurations, simply install the new release over top of your existing release, without uninstalling first. Please let me know in the forum if you find any problems. Jonathan

CopyTiger v.3.03.3

We are pleased to announce a new minor release of CopyTiger, version 3.03.3. This release introduces several bug fixes from the latest version of CopyCat Developer. A new major release is being prepared and will be announced over the next few months. The changes are the following :
  • Fixed bug causing empty string to convert to NULL in some cases.
  • Fixed a bug causing binary blob data to get replicated incorrectly for MS SQL Server.
  • Various other minor bug fixes