public inbox for [email protected]
help / color / mirror / Atom feedFrom: Marko Grujic <[email protected]>
To: [email protected]
Subject: Re: BUG #19516: Mixup of OLD/NEW with RETURNING when parenthesized
Date: Wed, 10 Jun 2026 12:50:39 +0200
Message-ID: <CAKQrOnpOSFrQ=cdSeHfoBFOwNT3=aa55t2VRZMt_xeOf9dMO8Q@mail.gmail.com> (raw)
In-Reply-To: <[email protected]>
References: <[email protected]>
Proposed patch:
https://www.postgresql.org/message-id/CAOvwyF2cO_5mAt%3Dw%3Dy-dFnaG5UkZ%2B3H8nSDoKF_iuWZHsU2ARg%40ma...
On Wed, Jun 10, 2026 at 12:10 PM PG Bug reporting form <
[email protected]> wrote:
> The following bug has been logged on the website:
>
> Bug reference: 19516
> Logged by: Marko Grujic
> Email address: [email protected]
> PostgreSQL version: 18.4
> Operating system: MacOS, Debian
> Description:
>
> Hi, reporting a basic bug which involves a RETURNING clause on DML with
> parenthesized OLD/NEW.
>
> Effectively, the (parenthesized) row reference isn't being honored, and
> instead the default behavior is applied.
>
> Seeing this on tip of master as well (19beta1).
>
> postgres=# create table t(a int, b text);
> CREATE TABLE
> postgres=# insert into t values (1, 'one') returning (old).b, old.b,
> (new).b, new.b;
> b | b | b | b
> -----+---+-----+-----
> one | | one | one
> (1 row)
>
> INSERT 0 1
> postgres=# update t set b = '1' where a = 1 returning (old).b, old.b,
> (new).b, new.b;
> b | b | b | b
> ---+-----+---+---
> 1 | one | 1 | 1
> (1 row)
>
> UPDATE 1
> postgres=# delete from t where a = 1 returning (old).b, old.b, (new).b,
> new.b;
> b | b | b | b
> ---+---+---+---
> 1 | 1 | 1 |
> (1 row)
>
> DELETE 1
> postgres=# select version();
> version
>
> --------------------------------------------------------------------------------------------------------------------
> PostgreSQL 18.4 (Debian 18.4-1.pgdg13+1) on x86_64-pc-linux-gnu, compiled
> by gcc (Debian 14.2.0-19) 14.2.0, 64-bit
> (1 row)
>
>
>
view thread (2+ messages)
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected]
Subject: Re: BUG #19516: Mixup of OLD/NEW with RETURNING when parenthesized
In-Reply-To: <CAKQrOnpOSFrQ=cdSeHfoBFOwNT3=aa55t2VRZMt_xeOf9dMO8Q@mail.gmail.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox