Re: Add PortalDrop in exec_execute_message
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Yura Sokolov <y.sokolov@postgrespro.ru>
Cc: pgsql-hackers@lists.postgresql.org
Date: 2021-05-21T18:23:20Z
Lists: pgsql-hackers
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.
regards, tom lane
Commits
-
Add 'Portal Close' message to pipelined PQsendQuery()
- 4efcf47053ea 14.0 landed
-
Shut down EvalPlanQual machinery when LockRows node reaches the end.
- bb4aed46a5ae 14.0 landed
-
Update libpq to make new features of FE/BE protocol available to
- efc3a25bb02a 7.4.1 cited
-
Extended query protocol: parse, bind, execute, describe FE/BE messages.
- 16503e6fa4a1 7.4.1 cited