Subject Re: [firebird-support] Re: Transaction Parameter Block Options
Author Ann W. Harrison
Hi Roman,

Yes, autocommit does appear to be part of Firebird, and, from the
comments, I'd guess it is part of InterBase
> How can I use this constant? Should I start new transaction on each
> statement execution and simply forget about them (no need to call
> isc_commit_transaction) or I do not need to pass any tr_handle to the
> API, it will do everything itself?

It appears that autocommit works only with retaining transactions, and
performs the autocommit only after a deleted, insert, post, transact
request (= execute procedure), or update. When a retaining transaction
commits, another one is automatically created.

Here's the comment from JRD. Makes me queasy.

* Perform an auto commit for autocommit transactions.
* This is slightly tricky. If the commit retain works,
* all is well. If TRA_commit () fails, we perform
* a rollback_retain (). This will backout the
* effects of the transaction, mark it dead and
* start a new transaction.

* For now only ExpressLink will use this feature. Later
* a new entry point may be added.