Tom Lane wrote:
http://candle.pha.pa.us/main/writings/pgsql/sgml/sql-set-transaction.html
http://candle.pha.pa.us/main/writings/pgsql/sgml/transaction-iso.html
It's a bit amusing that this person is dissing us for not having
REPEATABLE READ, when what he actually seems to want is SERIALIZABLE
(which we've had since 1999). Certainly REPEATABLE READ does *not*
guarantee a "stable view of data during one transaction" --- see the
discussion of phantom reads in the second link given above.
regards, tom lane
Tom,
This is what the firebird guy said:
> Serializable is stricter and somehwat unusable in a multi-user, loaded
> database, because only one transaction can run at any time. Let's say
you
> would have one long running serializable transaction encapsulating a
> reporting query, this will cause other transactions to wait.
>
> There is a pretty good paper on discussing why it was a somewhat bad
idea to
> describe transaction isolation levels in terms of phenomena in the SQL
> standard. This paper also describes transaction isolation levels for
MVCC
> databases. The paper is from 1995.
http://www.cs.duke.edu/~junyang/courses/cps216-2003-spring/papers/berenson-etal-1995.pdf
>
> SNAPSHOT in Firebird isn't a SQL standard compliant REPEATBLE READ
either.
> SNAPSHOT in Firebird is between REPEATABLE READ and SERIALIZABLE, but
> without blocking other transactions.
Is this true? will SERIALIZABLE block all transactions on the whole
server, or just on that one connection?
Thanks,
Tony
---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings