Step 1 Step 2 Step 4 Step 5

Step 3. AutoCommit Mode. Work in the context of two transactions for avoiding DEADLOCK.

pFIBDataSet allows to commit the made changes automatically if you set AutoCommit to True. Now after calling the Post method, pFIBDataSet1 will automatically call pFIBTransaction1.CommitRetaining, saving the changes without closing the query. Such approach decreases the probability of Deadlock, which is possible in the presence of long unclosed transactions, in the context of which were made data changes.

But FIBPlus gives another capability, which practically reduces the probability of Deadlock to zero. TpFIBDataSet can work in the context of two transactions, a long one in the context of which the data are only read and a short one, in the context of which there executed all modifying queries.

Let's rename pFIBTransaction1 into ReadTransaction and add another component called WriteTransaction. After this we set UpdateTransaction of pFIBDataSet1 in WriteTransaction. Thus pFIBDataSet1 is connected to both components of TpFIBTransaction at once:

Figure 13.

Now after calling the Post method pFIBDataSet1 will call Commit of WriteTransaction. But taking into account the fact that the data are read in the context of a different transaction (ReadTransaction), it will not cause close of pFIBDataSet1. So using FIBPlus we have a real AutoCommit mode, which decreases the possibility of Deadlock and does not prevent us from seeing all actual record values. You might know that while using BDE in the AutoCommit mode you cannot get real record values without reopening the query.

See the full example code.

Step 1 Step 2 Step 4 Step 5

Preview text: Devrace FIBPlus: Peculiarities of master-detail mechanism in the course of work with InterBase. Step 3.
Prices in Euro:

235 (1 copy)
1250 (unlimited)

Volume discounts are available...


During a re-write of a very large software system we were having some difficulties utilizing a 3rd party grid that we had chosen. The dataset connectivity was very flaky due to the complex joins and updates we were using which caused the grids to behave very sketchy.  FIBPlus was the perfect solution for us. After implementing it everything became so much easier. The grid functionality stabilized, data retrieval was much faster, and we were pleasantly surprised by many of the unique features of your components. We were especially impressed with your pFIBUpdateObject components which allowed us to very easily update the multiple tables we were using in our joins.  Many thanks for your great components.


Tracy Anderson, Team Leader, EDSS Division of AADG, Inc.
Download full versions and updates in your Personal Area