Tom Lane писал 2021-05-21 21:23:
Yura Sokolov <y.soko...@postgrespro.ru> writes:
I propose to add PortalDrop at the 'if (completed)' branch of
exec_execute_message.

This violates our wire protocol specification, which
specifically says

If successfully created, a named portal object lasts till the end of
    the current transaction, unless explicitly destroyed. An unnamed
portal is destroyed at the end of the transaction, or as soon as the
    next Bind statement specifying the unnamed portal as destination is
    issued. (Note that a simple Query message also destroys the unnamed
    portal.)

I'm inclined to think that your complaint would be better handled
by having the client send a portal-close command, if it's not
going to do something else immediately.

I thought about it as well. Then, if I understand correctly,
PQsendQueryGuts and PQsendQueryInternal in pipeline mode should send
"close portal" (CP) message after "execute" message, right?

regards,
Sokolov Yura


Reply via email to