Re: [HACKERS] getting rid of SnapshotNow
От | Andres Freund |
---|---|
Тема | Re: [HACKERS] getting rid of SnapshotNow |
Дата | |
Msg-id | 20130719130330.GI20525@alap2.anarazel.de обсуждение исходный текст |
Ответ на | Re: [HACKERS] getting rid of SnapshotNow ("Inoue, Hiroshi" <inoue@tpf.co.jp>) |
Ответы |
Re: [HACKERS] getting rid of SnapshotNow
|
Список | pgsql-odbc |
On 2013-07-19 08:57:01 +0900, Inoue, Hiroshi wrote: > >>I had the idea they were used for a client-side implementation of WHERE > >>CURRENT OF. Perhaps that's dead code and could be removed entirely? > > > >It's been reported that ODBC still uses them. > > Though PostgreSQL's TID is similar to Orale's ROWID, it is transient > and changed after update operations unfortunately. I implemented > the currtid_xx functions to supplement the difference. For example > > currtid(relname, original tid) > > (hopefully) returns the current tid of the original row when it is > updated. That is only guaranteed to work though when you're in a transaction old enough to prevent removal of the old or intermediate row versions. E.g. BEGIN; INSERT INTO foo...; -- last tid (0, 1) COMMIT; BEGIN; SELECT currtid(foo, '(0, 1')); COMMIT; can basically return no or even an arbitrarily different row. Same with an update... Greetings, Andres Freund -- Andres Freund http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services
В списке pgsql-odbc по дате отправления: