Обсуждение: Frontend/Backend protocol question.

Поиск
Список
Период
Сортировка

Frontend/Backend protocol question.

От
Dmitriy Igrishin
Дата:
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.


Re: Frontend/Backend protocol question.

От
"Albe Laurenz"
Дата:
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