Re: BUG #18134: ROW_COUNT do not set to 0 when psql's \gset command get no rows returned
Jov <amutu@amutu.com>
From: Jov <amutu@amutu.com>
To: Japin Li <japinli@hotmail.com>
Cc: pgsql-bugs@lists.postgresql.org
Date: 2023-09-30T06:36:18Z
Lists: pgsql-bugs
I conformed this patch fix the problem, thanks! Japin Li <japinli@hotmail.com> 于2023年9月28日周四 10:51写道: > > On Tue, 26 Sep 2023 at 09:26, PG Bug reporting form < > noreply@postgresql.org> wrote: > > The following bug has been logged on the website: > > > > Bug reference: 18134 > > Logged by: amutu > > Email address: amutu@amutu.com > > PostgreSQL version: 15.4 > > Operating system: FreeBSD 13.2-RELEASE amd64 > > Description: > > > > reproduce steps: > > > > $psql postgres > > psql (15.4) > > Type "help" for help. > > > > postgres=# select * from cmdq where status= 'new' \gset > > no rows returned for \gset > > postgres=# \echo :ROW_COUNT > > :ROW_COUNT > > postgres=# select * from cmdq; > > cmd | src_ip | worker | status | ts | > id > > > > > ---------+-----------+--------+--------+-------------------------------+---- > > ls /tmp | 127.0.0.1 | | done | 2023-09-23 14:39:59.047309+08 | > > 1 > > (1 row) > > > > postgres=# \echo :ROW_COUNT > > 1 > > postgres=# select * from cmdq where status= 'new' \gset > > no rows returned for \gset > > postgres=# \echo :ROW_COUNT > > 1 > > ------------------------------------------------ > > from the psql doc: > > ROW_COUNT > > The number of rows returned or affected by the last SQL query, !!!!or 0 > if > > the query failed or did not report a row count.!!!! > > It seems SaveResultVariables() was lost when executing failed. Attached > fix it. > > > -- > Regrads, > Japin Li > ChengDu WenWu Information Technology Co., Ltd. > >
Commits
-
psql: Set variables from query result on failure when printing tuples
- 2940f1c8373c 17.0 landed