Tom Lane wrote:
>
> Chris Bitmead <chris@bitmead.com> writes:
> > I inserted some debug into libpq, then I ran psql, and I noticed that
> > there are two 'Z' "Ready for query" messages sent after each query. Is
> > there a reason for that? Is it a bug?
>
> I'm pretty sure the backend sends only one 'Z' per query cycle. Are you
> watching the outgoing requests too? Maybe psql is sending an extra
> empty query. (It didn't use to do that, but maybe it does after Peter's
> recent work on it...)
I put in a printf in parseInput in fe-exec.c in libpq, straight after it
reads the id. This is only going to see messages incoming to the front
end.
I also had a break-point on PQexec and it was only called once per
query.
For each query that I input to psql, everything looked normal except
for the two 'Z's.
Ok, I've just done it again on another platform with the same result.
This
is what I see...
chrisb=# select * from a;
P
T
D
C
Z
Zaa | bb | cc
-----+-----+-----aaa | bbb | ccc
(1 row)
We've got the P - select results, T - describe output D - one output
tuple,
C - complete Z - ready for input.
It all seems sensible except for the two Z's.