Re: MERGE SQL statement for PG12

From: Pavan Deolasee <pavan(dot)deolasee(at)gmail(dot)com>
To: Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com>
Cc: Jaime Casanova <jaime(dot)casanova(at)2ndquadrant(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, Andres Freund <andres(at)anarazel(dot)de>
Subject: Re: MERGE SQL statement for PG12
Date: 2018-11-27 11:18:48
Message-ID: CABOikdNEwrimsgzR25KS=DSVr=5sHi0qAM1qptaCMZoG7F_DwA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi Tomas,

On Thu, Nov 22, 2018 at 10:03 PM Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com>
wrote:

>
> I think not going through nodeModifyTable and having a separate
> nodeMerge.c makes sense. It might result in some code being duplicated,
> but I suppose that code can be shared (wrapped as a function, moved to
> some file shared by the two nodes). I wouldn't expect the result to be
> particularly ugly, at least not compared to how nodeModifyTable is
> twisted with the current patch.
>

Ok. I will try that approach again. In the meanwhile, I am posting a
rebased version. There had been quite a lot changes on partitioning side
and that caused non-trivial conflicts. I noticed a couple of problems
during the rebase, but I haven't attempted to address them fully yet, since
I think a detailed review at some point might require us to change that
anyways.

- Noticed that partColsUpdated is not set correctly in case of MERGE since
we never get to call expand_partitioned_rtentry() for the partition table
in case of MERGE. This right now does not cause significant problem, since
we initialise the required states by other means. But we should fix this.

- I am not entirely sure if the tuple-conversion business is bug-free for
MERGE, post this rebase. Since this code has changed quite a bit in the
master, I will have another look and check. The tests do not show any
issues, but that could also be because of lack of tests in this area with
respect to MERGE.

- I am not sure if I adopted the slot related changes introduced
by 1a0586de3657cd35581f0639c87d5050c6197bb7.

Thanks,
Pavan

--
Pavan Deolasee http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

Attachment Content-Type Size
0001-MERGE-SQL-Command-following-SQL-2016_v6.patch application/octet-stream 395.1 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message David Steele 2018-11-27 11:58:09 Re: Remove Deprecated Exclusive Backup Mode
Previous Message Kyotaro HORIGUCHI 2018-11-27 10:36:22 Re: Protect syscache from bloating with negative cache entries