pg.ddx.io  pgsql-bugs@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Tom Lane <tgl@sss.pgh.pa.us>
To: d.kovalenko@postgrespro.ru
Cc: pgsql-bugs@lists.postgresql.org
Subject: Re: BUG #18960: Mistake in test test_simple_pipeline (libpq_pipeline.c)
Date: Wed, 18 Jun 2025 17:09:03 -0400
Message-ID: <1181606.1750280943@sss.pgh.pa.us> (raw)
In-Reply-To: <18960-09cd4a5100152e58@postgresql.org>
References: <18960-09cd4a5100152e58@postgresql.org>

PG Bug reporting form <noreply@postgresql.org> writes:
> Please look at these test lines in
> src/test/modules/libpq_pipeline/libpq_pipeline.c 1657-1662:
> https://github.com/postgres/postgres/blob/c2e2589ab969eb802493191c79de844bf7dc3a6e/src/test/modules/...
> ---
>         PQclear(res);
>         res = NULL;
>         if (PQgetResult(conn) != NULL)
>                 pg_fatal("PQgetResult returned something extra after
> pipeline end: %s",
>                                  PQresStatus(PQresultStatus(res)));
> ---
> You forgot to assign res:
> ---
>         PQclear(res);
>         res = NULL;
>         if ((res = PQgetResult(conn)) != NULL)
>                 pg_fatal("PQgetResult returned something extra after
> pipeline end: %s",
>                                  PQresStatus(PQresultStatus(res)));

I agree that's wrong ... but looking around, there's a huge amount
of random inconsistency in this test script --- this same simple
task of checking for an expected NULL result is coded several
different ways with varying amounts of detail provided, and
some other places share this same outright bug.

I think it'd be better to make a helper function
"CheckNoMoreResults(conn)", or something along that line,
to shorten and standardize these places.

On the other side of the coin, the explicit tests for a result
*not* being NULL are mostly unnecessary; if the next step is
a check of PQresultStatus, we could just rely on the fact
that PQresultStatus(NULL) returns PGRES_FATAL_ERROR.

			regards, tom lane





view thread (9+ messages)  latest in thread

Message-ID: <1181606.1750280943@sss.pgh.pa.us>
Permalink:  ../1181606.1750280943@sss.pgh.pa.us/
Also on:    postgresql.org/message-id/1181606.1750280943@sss.pgh.pa.us

 · 

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: pgsql-bugs@postgresql.org
  Cc: tgl@sss.pgh.pa.us, d.kovalenko@postgrespro.ru, pgsql-bugs@lists.postgresql.org
  Subject: Re: BUG #18960: Mistake in test test_simple_pipeline (libpq_pipeline.c)
  In-Reply-To: <1181606.1750280943@sss.pgh.pa.us>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox