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

Reply via email to