Tom Lane писал 2021-05-21 21:23:
> Yura Sokolov <y.sokolov@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