On the topic of nested skiplist transactions
Bron Gondwana
brong at fastmail.fm
Tue Sep 2 03:11:51 EDT 2008
On Tue, 2 Sep 2008 16:29:33 +1000, "Bron Gondwana" <brong at fastmail.fm> said:
> I've been thinking a bit about transactions and skiplists these past few
> days, since sending the patch that refactors the skiplist locking code.
For reference, here's what BDB does:
http://www.oracle.com/technology/documentation/berkeley-db/db/ref/transapp/nested.html
My proposal is different in that it doesn't support multiple nested concurrent
transactions. If you open up a new transaction, you must complete it (one way
or the other) before anything can happen outside that transaction.
You can, however, open yet another sub-nested transaction like so:
t1 (
STORE 'a' 'x'
t2 (
t3 (
DELETE 'a'
t4 (
STORE 'a' 'z'
ROLLBACK
)
COMMIT
)
COMMIT
)
COMMIT
)
But basically every transaction can be considered equivalent to a single operation
in the parent transaction.
Bron.
--
Bron Gondwana
brong at fastmail.fm
More information about the Cyrus-devel
mailing list