Re: MERGE issues around inheritance - Mailing list pgsql-hackers

From Álvaro Herrera
Subject Re: MERGE issues around inheritance
Date
Msg-id 202505240910.vsg6z2dr2ou3@alvherre.pgsql
Whole thread Raw
In response to MERGE issues around inheritance  (Andres Freund <andres@anarazel.de>)
List pgsql-hackers
On 2025-May-21, Andres Freund wrote:

> Hi,
> 
> In [1] I added some verification to projection building, to check if the
> tupleslot passed to ExecBuildProjectionInfo() is compatible with the target
> list.  One query in merge.sql [2] got flagged.
> 
> Trying to debug that issue, I found another problem. This leaves us with:
> 
> 1) w/ inheritance INSERTed rows are not returned by RETURNING. This seems to
>    just generally not work with MERGE

Hmm, curious.  One thing to observe is that the original source tuple is
in the child table, but the tuple inserted by MERGE ends up in the
parent table.  I'm guessing that the code gets confused as to the
relation that the tuple in the returned slot comes from, and that
somehow makes it somehow not "see" the tuple to process for RETURNING?
I dunno.  CC'ing Dean, who is more familiar with this code than I am.

-- 
Álvaro Herrera         PostgreSQL Developer  —  https://www.EnterpriseDB.com/
"I love the Postgres community. It's all about doing things _properly_. :-)"
(David Garamond)



pgsql-hackers by date:

Previous
From: Feike Steenbergen
Date:
Subject: Re: pg18: Virtual generated columns are not (yet) safe when superuser selects from them
Next
From: Álvaro Herrera
Date:
Subject: Re: mention unused_oids script in pg_proc.dat