Subject Re: [Firebird-Architect] "Write Committed" transaction mode
Author Dmitry Yemanov
30.11.2010 1:03, Jim Starkey wrote:

> In both Falcon and NimbusDB, a select for update (either implicit or
> explicit) in "write committed" mode cause a dummy update similar to an
> Interbase/Firebird deleted record stub, but with a distinctive record
> number indicating "record lock."

SELECT WITH LOCK in Firebird works similarly, it also creates a dummy
version stub. Before that, it locally (for this particular statement)
switches the read-committed transaction into the no-record-version mode,
so it waits for the concurrent modifications to be committed. But unlike
regular modifications, it either succeeds in locking or skips this
record if it has been modified in an incompatible way (or immediately
throw an error if transaction is no-wait). So basically it works in the
way Ann was suggesting. The negative thing here is that it's limited to
trivial selects only, everything more complex is not supported.


Dmitry