Question about SERIALIZE transaction isolation
- From: Christoph Rupp <cruppstahl@xxxxxxxxx>
- Date: Wed, 17 Jun 2009 04:33:12 -0700 (PDT)
Hi,
i'm nearly ready for my first release of my new concurrent, multi-
threaded, ACID transactional, logical idempotent logging, lock-free
database engine (key/value storage).
OK, enough buzzwords for today :)
Some of you were kind enough to help me a couple of times with my
questions. This one is about the behaviour of a read-only transaction
in the SERIALIZE isolation level.
TXN A:
BEGIN
INSERT (a, b)
TXN B:
BEGIN
FIND (a)
Does the lookup of an un-committed item return KEY_NOT_FOUND or does
it create a transaction conflict?
Some background: In my Database all transaction conflicts are
discovered in memory, without accessing the buffers. My Transactions
do not lock each other or keep locks during their life time.
Currently, if there's a conflict, my insert/erase functions return an
error (TXN_CONFLICT).
I did some research about the SERIALIZE isolation level but found
documentation which mentions that a lookup would cause a wait (http://
www.redhat.com/docs/manuals/database/RHDB-2.0-Manual/admin_user/xact-serializable.html).
But i think that it's annoying when most range queries fail because of
conflicts. I think it's better if the uncommitted key is ignored (only
for lookups).
Thanks
Christoph
PS: you see that i'm wearing a developer hat, i'm not a DB admin or
SQL guru...
.
- Follow-Ups:
- Re: Question about SERIALIZE transaction isolation
- From: Roy Hann
- Re: Question about SERIALIZE transaction isolation
- Prev by Date: Re: Object-oriented thinking in SQL context?
- Next by Date: Re: Object-oriented thinking in SQL context?
- Previous by thread: Coul constraint *enforcement be done at compile time vs runtime ?
- Next by thread: Re: Question about SERIALIZE transaction isolation
- Index(es):
Relevant Pages
|