From: Jojakim S. <JS...@de...> - 2002-11-21 16:44:50
|
Hello! I studied code of FbTransaction and found that Rollback() and Commit() use the *_retaining version for committing / rolling back transactions. After a retained commit/rollback automatically a "new" transaction is started, indicated by a transaction state of TxnState.TRANSACTION_STARTED. Now, a call to FbConnection.BeginTransaction() failes. But this is, in my opinion, not what the normal developer expect (compared to other RDBMS). Also, the retained commit/rollback preserves the snapshot of the former transaction, which again may not result in a behavior comparable to other RDBMS. I propose to introduce a property to the connection and/or transaction objects to set the commit/rollback mode to retaining or normal. In normal mode, the Commit()/Rollback() methods must call the standard GDS-transaction-functions and set the TxnState to TxnState.NOTRANSACTION. For retaining mode, the behavior is acceptable like it is now. Just my thoughts on that topic, any comments welcome. -- Joja |