From: | Andres Freund <andres(at)anarazel(dot)de> |
---|---|
To: | pgsql-committers(at)lists(dot)postgresql(dot)org,Alexander Korotkov <a(dot)korotkov(at)postgrespro(dot)ru> |
Cc: | pgsql-committers <pgsql-committers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: pgsql: tableam: Add tuple_{insert, delete, update, lock} and use. |
Date: | 2019-03-24 18:22:47 |
Message-ID: | FBF80559-A61A-4081-9B24-08FB2009E3C3@anarazel.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Hi,
On March 24, 2019 11:17:15 AM PDT, Alexander Korotkov <a(dot)korotkov(at)postgrespro(dot)ru> wrote:
>Great work, thank you very much!
>
>On Sun, Mar 24, 2019 at 6:02 AM Andres Freund <andres(at)anarazel(dot)de>
>wrote:
>> Previously both delete/update/lock call-sites and the EPQ mechanism
>had
>> to have awareness of the specific tuple format to be able to fetch
>the
>> latest version of a tuple. Obviously that needs to be abstracted
>> away. To do so, move the logic that find the latest row version into
>> the AM. lock_tuple has a new flag argument,
>> TUPLE_LOCK_FLAG_FIND_LAST_VERSION, that forces it to lock the last
>> version, rather than the current one. It'd have been possible to do
>> so via a separate callback as well, but finding the last version
>> usually also necessitates locking the newest version, making it
>> sensible to combine the two. This replaces the previous use of
>> EvalPlanQualFetch(). Additionally HeapTupleUpdated, which previously
>> signaled either a concurrent update or delete, is now split into two,
>> to avoid callers needing AM specific knowledge to differentiate.
>
>BTW, given your skepticism during PGCon 2018 discussions, I didn't
>expect my lock tuple patch [1] to get in.
Well, nobody came up with a better design, and after polishing it didn't look that bad...
> But if it finally got in,
>I've expected to be listed as author...
>
>1.
>https://www.postgresql.org/message-id/CAJrrPGc951F-R4Kfa4W47B5vHKeHsB2Y34zewp%3Db%2BAWSkF9RVA%40mail.gmail.com
Sorry, I wasn't aware of the origin of they piece of work.
Andres
--
Sent from my Android device with K-9 Mail. Please excuse my brevity.
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Geoghegan | 2019-03-24 18:27:27 | Re: pgsql: Make heap TID a tiebreaker nbtree index column. |
Previous Message | Alexander Korotkov | 2019-03-24 18:17:15 | Re: pgsql: tableam: Add tuple_{insert, delete, update, lock} and use. |