Re: BUG #18134: ROW_COUNT do not set to 0 when psql's \gset command get no rows returned
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Michael Paquier <michael@paquier.xyz>
Cc: Japin Li <japinli@hotmail.com>, amutu@amutu.com,
pgsql-bugs@lists.postgresql.org
Date: 2023-10-01T00:44:07Z
Lists: pgsql-bugs
Michael Paquier <michael@paquier.xyz> writes: > On Wed, Sep 27, 2023 at 06:00:58PM +0800, Japin Li wrote: >> It seems SaveResultVariables() was lost when executing failed. Attached fix it. > Yeah, I think that you're right here, the variables should be set. > SetResultVariables() ought to be called even if \gset failed to return > a result. Agreed. The adjacent comment is now a lie though. Maybe just - /* set variables on last result if all went well */ + /* set variables from last result */ Bigger-picture question: should we back-patch this, or just fix it in HEAD? It's wrong, but I'm not sure it's so obviously wrong that there could not be somebody depending on the existing behavior. regards, tom lane
Commits
-
psql: Set variables from query result on failure when printing tuples
- 2940f1c8373c 17.0 landed