Re: Adding OLD/NEW support to RETURNING

From: Richard Guo <guofenglinux(at)gmail(dot)com>
To: Dean Rasheed <dean(dot)a(dot)rasheed(at)gmail(dot)com>
Cc: jian he <jian(dot)universality(at)gmail(dot)com>, Robert Treat <rob(at)xzilla(dot)net>, Jeff Davis <pgsql(at)j-davis(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Tomas Vondra <tomas(at)vondra(dot)me>
Subject: Re: Adding OLD/NEW support to RETURNING
Date: 2025-01-17 02:23:50
Message-ID: CAMbWs49MBjWYWDROJ8MZ=Y+4UgRQa10wzik1tWrD5yto9eoGXg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Fri, Jan 17, 2025 at 12:28 AM Dean Rasheed <dean(dot)a(dot)rasheed(at)gmail(dot)com> wrote:
> I went over this again in detail and didn't find any problems, so I
> have committed it. Thanks for all the review comments.

It seems that adding ParseNamespaceItems for the OLD or NEW aliases
may confuse scanNameSpaceForRelid() when searching the table namespace
for a relation item. Since they contain the same RTE,
scanNameSpaceForRelid() might mistakenly detect multiple matches.

create table t (a int, b int);

update public.t set a = 1 returning public.t.b;
ERROR: table reference 46337 is ambiguous
LINE 1: update public.t set a = 1 returning public.t.b;
^
Thanks
Richard

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Noah Misch 2025-01-17 02:44:16 Re: An improvement of ProcessTwoPhaseBuffer logic
Previous Message Peter Smith 2025-01-17 02:14:40 Re: Pgoutput not capturing the generated columns