Re: support for MERGE

Alvaro Herrera <alvherre@alvh.no-ip.org>

From: Álvaro Herrera <alvherre@alvh.no-ip.org>
To: "Andres Freund" <andres@anarazel.de>
Cc: "pgsql-hackers@lists.postgresql.org" <pgsql-hackers@lists.postgresql.org>, "Simon Riggs" <simon.riggs@enterprisedb.com>, "Tomas Vondra" <tomas.vondra@enterprisedb.com>, "Zhihong Yu" <zyu@yugabyte.com>, "Daniel Westermann" <dwe@dbi-services.com>, "Amit Langote" <amitlangote09@gmail.com>, "Justin Pryzby" <pryzby@telsasoft.com>, "Japin Li" <japinli@hotmail.com>, "Erik Rijkers" <er@xs4all.nl>, "Jaime Casanova" <jcasanov@systemguards.com.ec>
Date: 2022-03-07T19:59:09Z
Lists: pgsql-hackers

Attachments

I attach v13 here.  This version includes a 0002 that's does the split of nodeModifyTable.c routines, then 0003 implements MERGE on top of that.  0001 is as before.

Commits

  1. Doc fixes for MERGE statement

  2. MERGE docs adjustments

  3. Link to MVCC docs in MERGE docs

  4. Fix EXPLAIN MERGE output when no tuples are processed

  5. Make EXPLAIN MERGE output format more compact

  6. Add support for MERGE SQL command

  7. Split ExecUpdate and ExecDelete into reusable pieces

  8. Add API of sorts for transition table handling in trigger.c

  9. Represent Lists as expansible arrays, not chains of cons-cells.