Index: src/backend/utils/mmgr/portalmem.c =================================================================== RCS file: /projects/cvsroot/pgsql/src/backend/utils/mmgr/portalmem.c,v retrieving revision 1.76.4.1 diff -u -r1.76.4.1 portalmem.c --- src/backend/utils/mmgr/portalmem.c 26 Jan 2005 23:20:37 -0000 1.76.4.1 +++ src/backend/utils/mmgr/portalmem.c 27 Feb 2005 18:12:49 -0000 @@ -418,12 +418,6 @@ * materialized form, since we are going to close down the executor and * release locks. Remove all other 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) @@ -489,6 +483,9 @@ { /* Zap all non-holdable portals */ PortalDrop(portal, true); + + /* Restart the iteration */ + hash_seq_init(&status, PortalHashTable); } } }