diff options
| author | Tom Lane | 2011-03-03 18:03:34 +0000 |
|---|---|---|
| committer | Tom Lane | 2011-03-03 18:04:06 +0000 |
| commit | 6252c4f9e201f619e5eebda12fa867acd4e4200e (patch) | |
| tree | 7f6eaa38d85846e4e38593f2d2a7682807143e0a /src/include | |
| parent | 32fce70564999a90d48a27c4279a8908e90f3ece (diff) | |
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.
Diffstat (limited to 'src/include')
| -rw-r--r-- | src/include/utils/portal.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/include/utils/portal.h b/src/include/utils/portal.h index dd88451f951..3068003caa3 100644 --- a/src/include/utils/portal.h +++ b/src/include/utils/portal.h @@ -206,6 +206,7 @@ extern Portal CreatePortal(const char *name, bool allowDup, bool dupSilent); extern Portal CreateNewPortal(void); extern void PinPortal(Portal portal); extern void UnpinPortal(Portal portal); +extern void MarkPortalDone(Portal portal); extern void PortalDrop(Portal portal, bool isTopCommit); extern Portal GetPortalByName(const char *name); extern void PortalDefineQuery(Portal portal, |
