Re: a few questions (and doubts) about xid
От | Luca Ferrari |
---|---|
Тема | Re: a few questions (and doubts) about xid |
Дата | |
Msg-id | 200708011353.43872.fluca1978@infinito.it обсуждение исходный текст |
Ответ на | Re: a few questions (and doubts) about xid (Gregory Stark <stark@enterprisedb.com>) |
Список | pgsql-general |
On Wednesday 1 August 2007 Gregory Stark's cat, walking on the keyboard, wrote: > You're right, the index contains pointers to *every* version of the tuple. > So in a regular SELECT statement you don't need to look at the update chain > at all. > > The main use of the update chain is when you want to perform an UPDATE or > DELETE. In that case when you come across a record which is being updated > by another transaction you must wait until that other transaction finishes > and then update the resulting record (if you're in read-committed mode). So, just to see if I got this, if the HeapTupleSatisfiesUpdate returns HeapTupleUpdated the chain update must be walked, right? > > Third, I read about not valid MVCC snapshots (e.g., SnapshotNow). What is > > the meaning of such "strange" snapshots? Because postgresql should always > > guarantee at least read committed isolation, and thus this should be done > > thru MVCC..... > > They're needed for things like the above UPDATE chain following uhm...so first I get a tuple version using HeapSatisfiesUpdate, then if the tuple is HeapTupleUpdated I follow the update chain, then (may be) recheck with HeapTupleSatisfiesSnapshot with a SnapshotNow?? Something like this? Thanks, Luca
В списке pgsql-general по дате отправления: