Re: POC: Lock updated tuples in tuple_update() and tuple_delete()

Pavel Borisov <pashkin.elfe@gmail.com>

From: Pavel Borisov <pashkin.elfe@gmail.com>
To: Michael Paquier <michael@paquier.xyz>
Cc: Alexander Korotkov <aekorotkov@gmail.com>, Andres Freund <andres@anarazel.de>, Chris Travers <chris.travers@gmail.com>, pgsql-hackers@lists.postgresql.org
Date: 2023-11-28T09:00:07Z
Lists: pgsql-hackers

Attachments

Hi, hackers!

> You're designing new APIs, days before the feature freeze.
On Wed, 5 Apr 2023 at 06:54, Michael Paquier <michael@paquier.xyz> wrote:
>
> On Tue, Apr 04, 2023 at 01:25:46AM +0300, Alexander Korotkov wrote:
> > Pavel, thank you for you review, revisions and rebase.
> > We'll reconsider this once v17 is branched.

I've looked through patches v16 once more and think they're good
enough, and previous issues are all addressed. I see that there is
nothing that blocks it from being committed except the last iteration
was days before v16 feature freeze.

Recently in another thread [1] Alexander posted a new version of
patches v16 (as 0001 and 0002) In 0001 only indenation, comments, and
commit messages changed from v16 in this thread. In 0002 new test
eval-plan-qual-2 was integrated into the existing eval-plan-qual test.
For maintaining the most recent versions in this thread I'm attaching
them under v17. I suppose that we can commit these patches to v17 if
there are no objections or additional reviews.

[1] https://www.postgresql.org/message-id/flat/CAPpHfdurb9ycV8udYqM%3Do0sPS66PJ4RCBM1g-bBpvzUfogY0EA%40mail.gmail.com

Kind regards,
Pavel Borisov

Commits

  1. Add EvalPlanQual delete returning isolation test

  2. Allow locking updated tuples in tuple_update() and tuple_delete()

  3. Revert 764da7710b

  4. Revert 11470f544e

  5. Evade extra table_tuple_fetch_row_version() in ExecUpdate()/ExecDelete()

  6. Check that xmax didn't commit in freeze check.