Re: pgsql: Split ExecUpdate and ExecDelete into reusable pieces - Mailing list pgsql-committers

From Amit Langote
Subject Re: pgsql: Split ExecUpdate and ExecDelete into reusable pieces
Date
Msg-id CA+HiwqGCjcH0gG-=tM7hhP7TEDmzrHMHJbPGSHtHgFmx9mnFkg@mail.gmail.com
Whole thread Raw
In response to pgsql: Split ExecUpdate and ExecDelete into reusable pieces  (Alvaro Herrera <alvherre@alvh.no-ip.org>)
Responses Re: pgsql: Split ExecUpdate and ExecDelete into reusable pieces
List pgsql-committers
Hi Alvaro,

On Thu, Mar 17, 2022 at 7:47 PM Alvaro Herrera <alvherre@alvh.no-ip.org> wrote:
>
> Split ExecUpdate and ExecDelete into reusable pieces
>
> Create subroutines ExecUpdatePrologue / ExecUpdateAct /
> ExecUpdateEpilogue, and similar for ExecDelete.
>
> Introduce a new struct to be used internally in nodeModifyTable.c,
> dubbed ModifyTableContext, which contains all context information needed
> to perform these operations, as well as ExecInsert and others.
>
> This allows using a different schedule and a different way of evaluating
> the results of these operations, which can be exploited by a later
> commit introducing support for MERGE.  It also makes ExecUpdate and
> ExecDelete proper shorter and (hopefully) simpler.

I noticed that we failed to update a comment mentioning a now obsolete
parameter of ExecCrossPartitionUpdate().  Attached a patch to fix that
and an old typo in the same sentence.

-- 
Amit Langote
EDB: http://www.enterprisedb.com

Attachment

pgsql-committers by date:

Previous
From: Andres Freund
Date:
Subject: pgsql: Silence -Wmaybe-uninitialized compiler warning in dbcommands.c.
Next
From: Amit Langote
Date:
Subject: Re: pgsql: Split ExecUpdate and ExecDelete into reusable pieces