Re: Add PortalDrop in exec_execute_message

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Alvaro Herrera <alvherre@alvh.no-ip.org>
Cc: Yura Sokolov <y.sokolov@postgrespro.ru>, pgsql-hackers@lists.postgresql.org
Date: 2021-05-26T21:19:52Z
Lists: pgsql-hackers
Alvaro Herrera <alvherre@alvh.no-ip.org> writes:
> (I didn't add a Close Portal message to PQsendQueryInternal in pipeline
> mode precisely because there is no such message in PQsendQueryGuts.
> I think it would be wrong to unconditionally add a Close Portal message
> to any of those places.)

Yeah, I'm not very comfortable with having libpq take it on itself
to do that, either.

Looking back at the original complaint, it seems like it'd be fair to
wonder why we're still holding a page pin in a supposedly completed
executor run.  Maybe the right fix is somewhere in the executor
scan logic.

			regards, tom lane



Commits

  1. Add 'Portal Close' message to pipelined PQsendQuery()

  2. Shut down EvalPlanQual machinery when LockRows node reaches the end.

  3. Update libpq to make new features of FE/BE protocol available to

  4. Extended query protocol: parse, bind, execute, describe FE/BE messages.