Frontend/Backend protocol question.

Started by Dmitriy Igrishinabout 14 years ago2 messagesgeneral
Jump to latest
#1Dmitriy Igrishin
dmitigr@gmail.com

Hey all,

According to
http://www.postgresql.org/docs/9.1/static/protocol-flow.html#AEN91458
"is not actually necessary for the frontend to wait for
ReadyForQuery before issuing another command".

But is it necessary for frontend to wait for ReadyForQuery
before sending Describe message? Or is it necessary to
wait for RowDescription/NoData after sending Describe
before sending Query or, say, Prepare?

In short, is it necessary for frontend to wait for responses
on sent messages before sending a new ones?

Thanks!

--
// Dmitriy.

#2Laurenz Albe
laurenz.albe@cybertec.at
In reply to: Dmitriy Igrishin (#1)
Re: Frontend/Backend protocol question.

Dmitriy Igrishin wrote:

According to
http://www.postgresql.org/docs/9.1/static/protocol-flow.html#AEN91458
"is not actually necessary for the frontend to wait for
ReadyForQuery before issuing another command".

But is it necessary for frontend to wait for ReadyForQuery
before sending Describe message? Or is it necessary to
wait for RowDescription/NoData after sending Describe
before sending Query or, say, Prepare?

In short, is it necessary for frontend to wait for responses
on sent messages before sending a new ones?

I agree with your interpretation. I have not tried it myself,
but I think you can just send the next message without waiting
for ReadyForQuery.

The problem is that this may not make sense: for example, if you
send Describe immediately after Parse, it may be that the Parse
fails and the Describe does something you did not intend.

Yours,
Laurenz Albe