I develop and application on Delphi 5 with BDE and never got any reclaim till I update to Delphi XE 10 I change my data Engine From BDE to Firedac. program is simple POS app make invoices , Invoice Table with Items table master-details. from time to time miss some invoices not specific but around 11 each 1000.
I start looking, checking and changing , i add Transaction component.. test same result later adding SchemaAdapter same result Till i figure out what is the problem
if the data Server running an statement in the same time what to run a different statement from another client on the same table here you can found the big bug on FireDac that the 2th client will appear that the data saved but in fact nothing saved
otherwise same scenario on BDE the result completely different the 2th client raise an error with message "Dead ... SQL " at least know that the data not saved
Hope some test that too , heavy SQL statement run it on the Server and try to insert on the table in CachUpdate -> and applyUpdate and will see the result
All Above use Interbase Database
This issue resolved in Delphi 10.3 , the Firedac engine work fine now