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?

I'm not aware of any place.

> 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?

Autocommit is executed at the end of every execute/fetch DSQL API call 
and every start/send/receive/transact BLR API call, and *only* if that 
API call modified some data or posted some event.

As a side effect, this means that a select from a stored procedure that 
modifies data may cause multiple autocommits.

A regular commit-retaining is used internally, so the same 
visibility/resource characteristics apply.


Dmitry


------------------------------------------------------------------------------
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to