> Tatsuo>responses of a simple query do not include CloseComplete
>
> Tatsuo, where do you get the logs from?
As I said, pgproto.
https://github.com/tatsuo-ishii/pgproto
> I guess you are just confused by the PRINTED order of the messages in the
> log.
> Note: wire order do not have to be exactly the same as the order in the log
> since messages are buffered, then might be read in batches.
pgproto directly reads from socket using read system call. There's no
buffer here.
> In other words, an application might just batch (send all three) close(s2),
> close(s1), query(begin) messages, then read the responses.
> How does it break protocol?
Again as I said before, the doc says in extended query protocol a
sequence of extended messages (parse, bind. describe, execute, closes)
should be followed by a sync message. ie.
close
close
sync
query(begin)
Maybe
close
close
query(begin)
is not a violation of protocol, but still I would say this is buggy
because of the reason Tom said, and I agree with him.
Best regards,
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese:http://www.sraoss.co.jp