Subject | Re: [firebird-support] READ ONLY READ COMMITTED and consistency |
---|---|
Author | Michael Ludwig |
Post date | 2010-05-17T18:22:19Z |
Alan McDonald schrieb am 17.05.2010 um 11:37:35 (+1000):
and it makes sense. You cannot see the updated row before it is
committed and becomes a new record version. If you could, that would
be a dirty read. But you may see one row in its version before the
intervening COMMIT, and the other in its version after the intervening
COMMIT.
intervening COMMIT, and part of the data in its version after the
intervening COMMIT. It will, without knowing that this is the case,
see the transaction's hand on the data. And that clearly breaks the
degree of isolation you typically want when you write data yourself.
--
Michael Ludwig
> I say again:Yes it is possible in READ COMMITTED, according to the replies given,
> > Is it possible for my RO/RC transaction to see one of the two rows
> > affected by the intervening UPDATE in its state *****before the
> > intervening COMMIT****, and the other in its state after that
> > COMMIT?
and it makes sense. You cannot see the updated row before it is
committed and becomes a new record version. If you could, that would
be a dirty read. But you may see one row in its version before the
intervening COMMIT, and the other in its version after the intervening
COMMIT.
> My answer is no and you agree with me (above) - An RC transaction seesRight, but it may see part of the data in its version before the
> what is committed. He's asking if you see it BEFORE the commit.
>
> So a select statement will NOT see something which is NOT committed.
intervening COMMIT, and part of the data in its version after the
intervening COMMIT. It will, without knowing that this is the case,
see the transaction's hand on the data. And that clearly breaks the
degree of isolation you typically want when you write data yourself.
--
Michael Ludwig