Re: support for MERGE
Alvaro Herrera <alvherre@alvh.no-ip.org>
From: Alvaro Herrera <alvherre@alvh.no-ip.org>
To: Zhihong Yu <zyu@yugabyte.com>, Simon Riggs <simon.riggs@enterprisedb.com>
Cc: Pg Hackers <pgsql-hackers@lists.postgresql.org>, Tomas Vondra <tomas.vondra@enterprisedb.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>, Andres Freund <andres@anarazel.de>
Date: 2022-03-12T03:53:47Z
Lists: pgsql-hackers
Attachments
On 2022-Mar-09, Zhihong Yu wrote: > Hi, > For v14-0002-Split-ExecUpdate-and-ExecDelete-in-reusable-piec.patch : > > + TupleTableSlot *insertProjectedTuple; > > With `insert` at the beginning of the variable name, someone may think it > is a verb. How about naming the variable projectedTupleFromInsert (or > something similar) ? I went with projectedFromInsert. I don't feel a need to call it a "tuple" because it's already a TupleTableSlot * ... > + if (!ExecBRDeleteTriggers(context->estate, context->epqstate, > + resultRelInfo, tupleid, oldtuple, > + epqreturnslot)) > + /* some trigger made the delete a no-op; let caller know */ > + return false; > > It seems you can directly return the value returned > from ExecBRDeleteTriggers(). True, let's do that. On 2022-Mar-10, Simon Riggs wrote: > Various cases were not tested in the patch - additional patch > attached, but nothing surprising there. Thanks, incorporated here. This is mostly just a rebase to keep cfbot happy. -- Álvaro Herrera 39°49'30"S 73°17'W — https://www.EnterpriseDB.com/ "La gente vulgar sólo piensa en pasar el tiempo; el que tiene talento, en aprovecharlo"
Commits
-
Doc fixes for MERGE statement
- 5dcebd10baa8 16.0 landed
- 5bb88967ed5c 15.0 landed
-
MERGE docs adjustments
- d6d1fbf353d1 15.0 landed
- 3d895bc846f2 16.0 landed
-
Link to MVCC docs in MERGE docs
- ffffeebf2447 15.0 landed
-
Fix EXPLAIN MERGE output when no tuples are processed
- 12e423e21d8e 15.0 landed
-
Make EXPLAIN MERGE output format more compact
- 598ac10be1c2 15.0 landed
-
Add support for MERGE SQL command
- 7103ebb7aae8 15.0 landed
-
Split ExecUpdate and ExecDelete into reusable pieces
- 25e777cf8e54 15.0 landed
-
Add API of sorts for transition table handling in trigger.c
- 3a46a45f6f00 15.0 landed
-
Represent Lists as expansible arrays, not chains of cons-cells.
- 1cff1b95ab6d 13.0 cited