On Wed, Mar 9, 2022 at 9:38 AM Alvaro Herrera <alvhe...@alvh.no-ip.org>
wrote:

> I attach MERGE v14.  This includes a fix from Amit Langote for the
> problem I described previously, with EvalPlanQual not working correctly.
> (I had failed to short-circuit the cross-partition update correctly.)
> Now the test case is enabled again, and it passes with the correct
> output.
>
> 0001 is as before; the only change is that I've added a commit message.
> Since this just moves some code around, I intend to get it pushed very
> soon.
>
> 0002 is the ExecUpdate/ExecDelete split.  I cleaned up the struct
> definitions a bit more, but it's pretty much as in the previous version.
>
> 0003 is the actual MERGE implementation.  Many previous review comments
> have been handled, and several other things are cleaner than before.
> I haven't made any changes for work_mem handling in ModifyTable's
> transition tables, though, and haven't attempted to address concurrent
> INSERT.
>
> --
> Álvaro Herrera           39°49'30"S 73°17'W  —
> https://www.EnterpriseDB.com/


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) ?

+       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().

+       if (!ExecBRUpdateTriggers(context->estate, context->epqstate,
+                                 resultRelInfo, tupleid, oldtuple, slot))
+           /* some trigger made the update a no-op; let caller know */
+           return false;

Similar comment as above (the comment is good and should be kept).

Cheers

Reply via email to