Have an amazing solution built in RAD Studio? Let us know. Looking for discounts? Visit our Special Offers page!
News

Webinar Replay: Simplify Data Change Tracking with InterBase

the future of starts demands massive productivity

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

 


 

 

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:\Users\Public\Documents\Embarcadero\Studio\19.0\Samples\Object Pascal\Database\FireDAC\Samples\DBMS Specific\InterBase

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.

 

See What's New in 12.2 Athens See What's New in 12.2 Athens Dev Days of Summer 2-24

Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder.
Design. Code. Compile. Deploy.
Start Free Trial   Upgrade Today

   Free Delphi Community Edition   Free C++Builder Community Edition

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

IN THE ARTICLES