Subject | Re: [IBO] Transactions closing |
---|---|
Author | Thomas Steinmaurer |
Post date | 2011-08-30T06:28:38Z |
> I have just moved across to firebird 2.5 and have noticed some transactions are being left active for a lengthy period. I am manually controlling the transactions. AutoCommit is false, i am also using tiCommitted.Either use IBO's tracing capabilities or use the Firebird 2.5 Trace API
to see exactly what's going on.
See my article on the Trace API here:
http://www.ibphoenix.com/resources/documents/general/doc_3
> I have found that if i am not commiting or rollbacking a transaction an query/dataset (TIB_Query) is automatically closed after a period of time.IBO is doing that behind the scene to enable moving OIT/OAT forward.
However for store procedure (TIB_StoreProcedure) this transactions is
being left open.
> So my question is should i always be making sure i either commit or rollback whenever i use storeprocedure and have finished with it as such. (in the case of edit or insert data i always save it) but when i am reading data, rather than use a query i am sure SP and not always saving it after i got my data. Is this going to cause problems and is it bad practice?In general, when you are done with something in context of an explicit
transaction, issue a commit/rollback to end the transaction.
Make also use of read-only transactions, if you don't need to write
something. With long-running read committed, read-only transactions,
OIT/OAT won't get stuck.
--
With regards,
Thomas Steinmaurer
* Firebird Foundation Committee Member
http://www.firebirdsql.org/en/firebird-foundation/
* Upscene Productions - Database Tools for Developers
http://www.upscene.com/
* My Blog
http://blog.upscene.com/thomas/index.php