Run a portal's cleanup hook immediately when pushing it to DONE state.
This works around the problem noted by Yamamoto Takashi in bug #5906,
that there were code paths whereby we could reach AtCleanup_Portals
with a portal's cleanup hook still unexecuted. The changes I made
a few days ago were intended to prevent that from happening, and
I think that on balance it's still a good thing to avoid, so I don't
want to remove the Assert in AtCleanup_Portals. Hence do this instead.
Branch
------
master
Details
-------
http://git.postgresql.org/pg/commitdiff/6252c4f9e201f619e5eebda12fa867acd4e4200e
Modified Files
--------------
src/backend/tcop/pquery.c | 2 +-
src/backend/utils/mmgr/portalmem.c | 26 ++++++++++++++++++++++++++
src/include/utils/portal.h | 1 +
3 files changed, 28 insertions(+), 1 deletions(-)