Stopgap patch for problem with cursors using hash joins: an ABORT

would cause two attempts to delete the hashtable portal, one from
query shutdown and one from portalmem.c.  Fix by making hash portals
be treated as 'special' portal names, so that CollectNamedPortals
will not think it should delete them.  This code is in need of
complete rewrite (and is already largely rewritten in current
sources), but still need to put a finger in the dike for 7.0.*.
REL7_0_PATCHES
Tom Lane 25 years ago
parent ef6bee30c5
commit ae585b5c37
  1. 8
      src/backend/utils/mmgr/portalmem.c

@ -8,7 +8,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/utils/mmgr/portalmem.c,v 1.36 2000/04/12 17:16:10 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/utils/mmgr/portalmem.c,v 1.36.2.1 2000/11/10 04:08:25 tgl Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
@ -413,6 +413,12 @@ PortalNameIsSpecial(char *pname)
return true; return true;
if (strcmp(pname, TRUNCPNAME) == 0) if (strcmp(pname, TRUNCPNAME) == 0)
return true; return true;
/*
* Quick hack for 7.0.3: treat hashtable portals as special
* so that CollectNamedPortals() won't try to delete them.
*/
if (strncmp(pname, "<hashtable ", 11) == 0)
return true;
return false; return false;
} }

Loading…
Cancel
Save