Re: postgres fe/be protocol
Chris <chrisb@nimrod.itg.telstra.com.au>
From: Chris Bitmead <chrisb@nimrod.itg.telstra.com.au>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Postgres Hackers List <hackers@postgresql.org>
Date: 2000-07-11T00:53:04Z
Lists: 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 Z aa | 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.