Re: Patch that deals with that AtCommit_Portals encounters
От | Bruce Momjian |
---|---|
Тема | Re: Patch that deals with that AtCommit_Portals encounters |
Дата | |
Msg-id | 200504250339.j3P3d5Z04252@candle.pha.pa.us обсуждение исходный текст |
Ответ на | Patch that deals with that AtCommit_Portals encounters deleted entries (Thomas Hallgren <thhal@mailblocks.com>) |
Список | pgsql-patches |
Your patch has been added to the PostgreSQL unapplied patches list at: http://momjian.postgresql.org/cgi-bin/pgpatches It will be applied as soon as one of the PostgreSQL committers reviews and approves it. --------------------------------------------------------------------------- Thomas Hallgren wrote: > This patch will ensure that the hash table iteration performed by > AtCommit_Portals is restarted when a portal is deleted. This is > necessary since the deletion of a portal may cause the deletion of > another which on rare occations may cause the iterator to return a > deleted portal an thus a renewed attempt delete. > > Regards, > Thomas Hallgren > > 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); > } > } > } > > ---------------------------(end of broadcast)--------------------------- > TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073
В списке pgsql-patches по дате отправления: