Re: [GENERAL] postgresql's MVCC implementation

2008-07-06 Thread Kent Tong
Tom Lane-2 wrote: > > It's not defined by the SQL standard, nor any other standard that I know > of. So yes, different implementations might mean subtly different > things by it. > OK, I see. Where can I find out the precise meaning of MVCC as in PostgreSQL. I've read http://www.postgresql.o

Re: [GENERAL] postgresql's MVCC implementation

2008-07-06 Thread Tom Lane
Kent Tong <[EMAIL PROTECTED]> writes: > Is MVCC not well defined? It's not defined by the SQL standard, nor any other standard that I know of. So yes, different implementations might mean subtly different things by it. regards, tom lane -- Sent via pgsql-general mailing

Re: [GENERAL] postgresql's MVCC implementation

2008-07-06 Thread Kent Tong
Tom Lane-2 wrote: > > If you want that to fail, use a SELECT FOR UPDATE at steps 3/4. > > My interpretation of MVCC is that the above example isn't even > meaningful, because it assumes that "writing into Y" is an overwrite, > which it is not in Postgres --- that is, if T2 reads Y again, it'll

Re: [GENERAL] postgresql's MVCC implementation

2008-07-06 Thread Tom Lane
Kent Tong <[EMAIL PROTECTED]> writes: > 1: T1 sets isolation to serializable & begins a transaction > 2: T2 sets isolation to serializable & begins a transaction > 3: T1 reads X into v1 > 4: T2 reads Y into v2 > 5: T1 writes v1 into Y > 6: T2 writes v2 into X > 7: T1 commits > 8: T2 commits > Obvi

[GENERAL] postgresql's MVCC implementation

2008-07-06 Thread Kent Tong
Hi, I read a description of MVCC in http://www.cs.ust.hk/~dimitris/CS530/L24.ppt and found that this isn't exactly what is implemented in PostgreSQL. For example, for a sequence of operations like: 1: T1 sets isolation to serializable & begins a transaction 2: T2 sets isolation to serializable &