From: Phil S. <ph...@sh...> - 2002-12-13 14:22:56
|
Hi, I have been following this thread, and I think there is a 'bluring' between Connections and Transactions. When a 'Client' crashes, or the LAN cable is pulled out etc, Firebird will (eventually) notice, close the connection and rollback any open transactions. Why people are so passinate about transactions is because they can be a major cause of performance and other issues with FB. The majority of performance problems on the lists/newsgroups are down to 'incorrect' use of transactions. Long running transactions are not a good thing in FB, and whilst sometimes they can't be avoided (end of month batch runs etc.), the majority can. The problem is most evident when people move to FB from 'other databases', and the first app they write starts a transaction in the morning and they fill an 'editable grid' with data, and then wonder why the whole system has ground to a halt by lunch. In my opinion, in a properly designed system, transactions should only be open when reading or writing to the database. So I see no reason at all to have 'transaction timeouts', as if a transaction is open, something is being written to, or read from the database, and any time out will abort the operation. Phil |