From: | Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com> |
---|---|
To: | Fabien COELHO <coelho(at)cri(dot)ensmp(dot)fr> |
Cc: | "pgsql-hackers(at)lists(dot)postgresql(dot)org" <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: psql - add SHOW_ALL_RESULTS option |
Date: | 2022-01-18 16:36:59 |
Message-ID: | 47bcee2e-3e4c-a0ea-daee-9b3e2d65df05@enterprisedb.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 15.01.22 10:00, Fabien COELHO wrote:
>> The reason this test constantly fails on cfbot windows is a
>> use-after-free
>> bug.
>
> Indeed! Thanks a lot for the catch and the debug!
>
> The ClearOrSaveResult function is quite annoying because it may or may
> not clear the result as a side effect.
>
> Attached v14 moves the status extraction before the possible clear. I've
> added a couple of results = NULL after such calls in the code.
In the psql.sql test file, the test I previously added concluded with
\set ECHO none, which was a mistake that I have now fixed. As a result,
the tests that you added after that point didn't show their input lines,
which was weird and not intentional. So the tests will now show a
different output.
I notice that this patch has recently gained a new libpq function. I
gather that this is to work around the misbehaviors in libpq that we
have discussed. But I think if we are adding a libpq API function to
work around a misbehavior in libpq, we might as well fix the misbehavior
in libpq to begin with. Adding a new public libpq function is a
significant step, needs documentation, etc. It would be better to do
without. Also, it makes one wonder how others are supposed to use this
multiple-results API properly, if even psql can't do it without
extending libpq. Needs more thought.
From | Date | Subject | |
---|---|---|---|
Next Message | Jacob Champion | 2022-01-18 16:37:51 | Re: Support for NSS as a libpq TLS backend |
Previous Message | Joshua Brindle | 2022-01-18 16:24:49 | Re: Support for NSS as a libpq TLS backend |