diff options
| author | Tom Lane | 2005-04-11 19:51:32 +0000 |
|---|---|---|
| committer | Tom Lane | 2005-04-11 19:51:32 +0000 |
| commit | fa57fd1c0a4b9dee0bbd932c20d773d56a88a78f (patch) | |
| tree | 0be076c1a21005086da1bda3b958f7c46af29f82 /src/include | |
| parent | add2c3f4d6b137b35c097354438779aacde2f1d9 (diff) | |
Fix interaction between materializing holdable cursors and firing
deferred triggers: either one can create more work for the other,
so we have to loop till it's all gone. Per example from andrew@supernews.
Add a regression test to help spot trouble in this area in future.
Diffstat (limited to 'src/include')
| -rw-r--r-- | src/include/commands/trigger.h | 6 | ||||
| -rw-r--r-- | src/include/utils/portal.h | 3 |
2 files changed, 5 insertions, 4 deletions
diff --git a/src/include/commands/trigger.h b/src/include/commands/trigger.h index 1f84b0eaa9a..f167da81ff5 100644 --- a/src/include/commands/trigger.h +++ b/src/include/commands/trigger.h @@ -6,7 +6,7 @@ * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/include/commands/trigger.h,v 1.51 2004/12/31 22:03:28 pgsql Exp $ + * $PostgreSQL: pgsql/src/include/commands/trigger.h,v 1.51.4.1 2005/04/11 19:51:32 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -157,8 +157,8 @@ extern void ExecARUpdateTriggers(EState *estate, extern void AfterTriggerBeginXact(void); extern void AfterTriggerBeginQuery(void); extern void AfterTriggerEndQuery(void); -extern void AfterTriggerEndXact(void); -extern void AfterTriggerAbortXact(void); +extern void AfterTriggerFireDeferred(void); +extern void AfterTriggerEndXact(bool isCommit); extern void AfterTriggerBeginSubXact(void); extern void AfterTriggerEndSubXact(bool isCommit); diff --git a/src/include/utils/portal.h b/src/include/utils/portal.h index 75e606c180f..c1ab891955c 100644 --- a/src/include/utils/portal.h +++ b/src/include/utils/portal.h @@ -39,7 +39,7 @@ * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/include/utils/portal.h,v 1.54 2004/12/31 22:03:46 pgsql Exp $ + * $PostgreSQL: pgsql/src/include/utils/portal.h,v 1.54.4.1 2005/04/11 19:51:32 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -182,6 +182,7 @@ typedef struct PortalData /* Prototypes for functions in utils/mmgr/portalmem.c */ extern void EnablePortalManager(void); +extern bool CommitHoldablePortals(void); extern void AtCommit_Portals(void); extern void AtAbort_Portals(void); extern void AtCleanup_Portals(void); |
