Re: postgres fe/be protocol - Mailing list pgsql-hackers

From Chris Bitmead
Subject Re: postgres fe/be protocol
Date
Msg-id 396A6FF0.BC320BAF@nimrod.itg.telecom.com.au
Whole thread Raw
In response to postgres fe/be protocol  (Chris Bitmead <chris@bitmead.com>)
Responses Re: postgres fe/be protocol
List pgsql-hackers
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.


pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: postgres 7.2 features.
Next
From: Chris Bitmead
Date:
Subject: Re: Alternative new libpq interface.