>> Hello Dave, >> >> > Tatsuo Ishii <is...@sraoss.co.jp> writes: >> >> Below is outputs from "pgproto" command coming with Pgpool-II. >> >> (Lines starting "FE" represents a message from frontend to backend. >> >> Lines starting "BE" represents a message from backend to frontend.) >> > >> >> FE=> Parse(stmt="", query="SET extra_float_digits = 3") >> >> FE=> Bind(stmt="", portal="") >> >> FE=> Execute(portal="") >> >> FE=> Parse(stmt="", query="SET extra_float_digits = 3") >> >> FE=> Bind(stmt="", portal="") >> >> FE=> Execute(portal="") >> >> FE=> Query (query="SET extra_float_digits = 3") >> >> <= BE ParseComplete >> >> <= BE BindComplete >> >> <= BE CommandComplete(SET) >> >> <= BE ParseComplete >> >> <= BE BindComplete >> >> <= BE CommandComplete(SET) >> >> <= BE CommandComplete(SET) >> >> <= BE ReadyForQuery(I) >> >> FE=> Terminate >> > >> >> As you can see, two "SET extra_float_digits = 3" is sent in the >> >> extended query protocol, then one "SET extra_float_digits = 3" follows >> >> in the simple query protocol. No sync message is sent. However, I get >> >> ReadyForQuery at the end. It seems the extended query protocol is >> >> ended by a simple query protocol message instead of a sync message. >> > >> >> My question is, is this legal in terms of fronted/backend protocol? >> > >> > I think it's poor practice, at best. You should end the >> > extended-protocol query cycle before invoking simple query. >> >> From [1] I think the JDBC driver sends something like below if >> autosave=always option is specified. >> >> "BEGIN READ ONLY" Parse/Bind/Eexecute (in the extended query protocol) >> "SAVEPOINT PGJDBC_AUTOSAVE" (in the simple query protocol) >> >> It seems the SAVEPOINT is sent without finishing the extended query >> protocol (i.e. without Sync message). Is it possible for the JDBC >> driver to issue a Sync message before sending SAVEPOINT in simple >> query protocol? Or you can send SAVEPOINT using the extended query >> protocol. >> >> [1] >> https://www.pgpool.net/pipermail/pgpool-general/2023-December/009051.html >> >> > Hi Tatsuo, > > Yes, it would be possible. > > Can you create an issue on github? Issues ยท pgjdbc/pgjdbc (github.com) > <https://github.com/pgjdbc/pgjdbc/issues>
Sure. https://github.com/pgjdbc/pgjdbc/issues/3107 Best reagards, -- Tatsuo Ishii SRA OSS LLC English: http://www.sraoss.co.jp/index_en/ Japanese:http://www.sraoss.co.jp