Hallo Peter,
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.
Ok.
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.
Indeed.
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.
I'm not so sure.
The choice is (1) change the behavior of an existing function or (2) add a
new function. Whatever the existing function does, the usual anwer to API
changes is "someone is going to complain because it breaks their code", so
"Returned with feedback", hence I did not even try. The advantage of (2)
is that it does not harm anyone to have a new function that they just do
not need to use.
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.
Fine with me! Obviously I'm okay if libpq is repaired instead of writing
strange code on the client to deal with strange behavior.
--
Fabien.