Subject Re: [firebird-support] Which transaction property setting should I be using for reports?
Author Dom Scarlatti
At 01:58 PM 16/04/2010, you wrote:
>Greetings All,
>
>Using Firebird 1.5
>Delphi 5.1
>Interbase express components
>
>TDataSource -> TClientDataset -> TDataSetProvider -> TIBQuery ->
>TIBTransaction and TIBDatabase
>
>Currently I use Read-Only Table Stability (Which I'm sure is wrong)

Yes it's wrong - Table Stability a.k.a. tiConsistency in Delphi, is a totally exclusive lock that has virtually no application in real life except, maybe once a year, to freeze an old-style inventory system while processing stocktake reconciliation reports. Use Snapshot (Repeatable Read) isolation (tiConcurrency in Delphi) for reports.

>My Issue:
>For some reason I have a report which looks like it freezes up, but in fact
>I think there is a update lock conflict error and not sure why. While the
>report looks to be frozen, we will ask other users to get out of the app and
>the report finishes instantly. With others out the report works flawlessly
>without hanging.

That's exactly what Table Stability isolation is intended to do. It literally freezes every table on the system that is touched by that transaction.

Dom