Subject | Re: [Firebird-Architect] "Write Committed" transaction mode |
---|---|
Author | Dmitry Yemanov |
Post date | 2010-11-30T06:19:42Z |
30.11.2010 1:03, Jim Starkey wrote:
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
> In both Falcon and NimbusDB, a select for update (either implicit orSELECT WITH LOCK in Firebird works similarly, it also creates a dummy
> 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."
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