diff --git a/src/backend/utils/mmgr/portalmem.c b/src/backend/utils/mmgr/portalmem.c index fd8a737adae0996e2ccb76ce9b1200f6e3ff563c..362d3df967fd0faa514b24f916b1548f3f00d014 100644 --- a/src/backend/utils/mmgr/portalmem.c +++ b/src/backend/utils/mmgr/portalmem.c @@ -12,7 +12,7 @@ * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/utils/mmgr/portalmem.c,v 1.78 2005/04/11 19:51:15 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/utils/mmgr/portalmem.c,v 1.79 2005/05/11 18:05:37 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -475,12 +475,6 @@ CommitHoldablePortals(void) * * Remove all non-holdable portals created in this transaction. * Portals remaining from prior transactions should be left untouched. - * - * XXX This assumes that portals can be deleted in a random order, ie, - * no portal has a reference to any other (at least not one that will be - * exercised during deletion). I think this is okay at the moment, but - * we've had bugs of that ilk in the past. Keep a close eye on cursor - * references... */ void AtCommit_Portals(void) @@ -516,6 +510,9 @@ AtCommit_Portals(void) /* Zap all non-holdable portals */ PortalDrop(portal, true); + + /* Restart the iteration */ + hash_seq_init(&status, PortalHashTable); } }