30.05.2015 11:29, Mark Rotteveel wrote: > To better understand the implications of the pull request by Maxim, I'd > like to know the semantics of isc_tpb_autocommit. Is this documented > anywhere?
AFAIR, no > I'd especially like to know at which point the commit is executed, and > the impact this has on open resources (cursor, blob, etc). As far as I > understand commit_retaining is used. What impact does that have on > visibility of transactions and resource use? A bit simplified overview of autocommit code: when transaction, marked as TRA_autocommit performs any of following actions, it is marked also as TRA_perform_autocommit: - insert - update - delete - select with lock - post event TRA_perform_autocommit flag is checked when: - engine receives input message - engine send output message - engine stars to execute request - engine finished to execute DDL request When TRA_perform_autocommit flag is detected, engine run on-commit triggers (not for DDL, btw, looks like a bug) and performs commit retaining. New transaction have TRA_autocommit flag set and TRA_perform_autocommit not set. Regards, Vlad ------------------------------------------------------------------------------ Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel