Webinar Replay: Simplify Data Change Tracking with InterBase

by Oct 18, 2018

On October 17, I did an InterBase webinar on using Change Views to simplify data change tracking.  Change Views allows you to reduce your network traffic, keep mobile data costs down and speed up your development time by syncing only the changes you subscribe to.

As your database scales, the data tracking hurdles get larger and require complex solutions, triggers, timestamp tables and more. There's a simpler way for you to take control of your data syncs: InterBase Change Views.

InterBase Change Views takes a new approach to tracking your data changes on both the client and server side. Designed for syncing in the mobile world, Change Views allows you to rethink the methods and constraints that data change tracking offers by reducing your technique planning and development time while maintaining a fast, highly scalable secure database engine.

 

CATCH THE WEBINAR REPLAY

 


 

www.youtube.com/watch

 

Code snippets

Creating a Change View in IBConsole

When in IBConsole, click on Subscriptions and Create Subscription adding in details or in ISQL add the following code changing your tables names:

CREATE SUBSCRIPTION "SUB_MEDICINEUPDATES" ON

"CATEGORY" FOR ROW (INSERT, UPDATE, DELETE),

"MEDICINE" FOR ROW (INSERT, UPDATE, DELETE),

"MEDICINE_CATEGORIES" FOR ROW (INSERT, UPDATE, DELETE)

DESCRIPTION 'Track inserts, updates and deletes to medicine data';

 

Privileges for accessing tables

GRANT SUBSCRIBE ON SUBSCRIPTION <subscription_name> TO <user_name>

REVOKE SUBSCRIBE ON SUBSCRIPTION <subscription_name> TO <user_name>

Working with Change Views in RAD Studio

procedure TdtmdlDelta.OpenAll(ID : string; ShowMerged : Boolean);
begin
  // Local connection in Cached Update Modes
  qryCategory.CachedUpdates := True;
  qryMedicine.CachedUpdates := True;
  qryMedicineCategories.CachedUpdates := True;

  qryCategory.Open();
  qryMedicine.Open();
  qryMedicineCategories.Open();

  if FDTransactionDelta.Active then
    FDTransactionDelta.Rollback;

  FDTransactionDelta.StartTransaction;

  // Start the transaction to fetch the deltas. - this changes from Select ALL to Select subscribed changes only.
  qrySubscriptionActive.SQL.Text := Format('set subscription sub_medicineupdates at ''%s'' active;',[ID]);
  qrySubscriptionActive.ExecSQL;

  qryCategoryDelta.Open();
  qryMedicineDelta.Open();
  qryMedicineCategoriesDelta.Open();




procedure TdtmdlDelta.PostDeltas;
begin
  qryCategory.MergeDataSet(qryCategoryDelta, TFDMergeDataMode.dmDeltaMerge, mmUpdate);
  qryMedicine.MergeDataSet(qryMedicineDelta, TFDMergeDataMode.dmDeltaMerge, mmUpdate);
  qryMedicineCategories.MergeDataSet(qryMedicineCategoriesDelta, TFDMergeDataMode.dmDeltaMerge, mmUpdate);

  qryCategory.ApplyUpdates;
  qryMedicine.ApplyUpdates;
  qryMedicineCategories.ApplyUpdates;

  FDTransactionDelta.Commit;

Additional Resources

Sample Application used in webinar : C:UsersPublicDocumentsEmbarcaderoStudio19.0SamplesObject PascalDatabaseFireDACSamplesDBMS SpecificInterBase

Some answers to your Q&A questions

Which versions of InterBase support Change Views subscriptions?

The InterBase Server, Desktop and ToGo editions support Change Views subscriptions.

 

What is the cost of an InterBase ToGo license?

The list price for InterBase ToGo is $64 USD. Please reach out to your local sales representative for further pricing.

 

Does Change Views needs to be configured on both client and server?

You set up your Change Views subscription in IBConsole then configure it in your application. Check out the webinar video for which components you need to use in RAD Studio for Change Views.