Обсуждение: pgsql: Run a portal's cleanup hook immediately when pushing it to DONE

Поиск
Список
Период
Сортировка

pgsql: Run a portal's cleanup hook immediately when pushing it to DONE

От
Tom Lane
Дата:
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(-)