Backpatch SearchSysCacheTupleCopy fix for init_fcache.
authorTom Lane <[email protected]>
Tue, 6 Jun 2000 17:45:05 +0000 (17:45 +0000)
committerTom Lane <[email protected]>
Tue, 6 Jun 2000 17:45:05 +0000 (17:45 +0000)
src/backend/utils/cache/fcache.c

index 26f4cbd8d06d1124010355e84333e3b31715ab00..35386ae876ff87f7d303755c16f16e754a4e874c 100644 (file)
@@ -8,12 +8,13 @@
  *
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/utils/cache/Attic/fcache.c,v 1.30 2000/04/12 17:15:53 momjian Exp $
+ *   $Header: /cvsroot/pgsql/src/backend/utils/cache/Attic/fcache.c,v 1.30.2.1 2000/06/06 17:45:05 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
 #include "postgres.h"
 
+#include "access/heapam.h"
 #include "catalog/pg_language.h"
 #include "catalog/pg_proc.h"
 #include "catalog/pg_type.h"
@@ -89,9 +90,9 @@ init_fcache(Oid foid,
    if (!use_syscache)
        elog(ERROR, "what the ????, init the fcache without the catalogs?");
 
-   procedureTuple = SearchSysCacheTuple(PROCOID,
-                                        ObjectIdGetDatum(foid),
-                                        0, 0, 0);
+   procedureTuple = SearchSysCacheTupleCopy(PROCOID,
+                                            ObjectIdGetDatum(foid),
+                                            0, 0, 0);
 
    if (!HeapTupleIsValid(procedureTuple))
        elog(ERROR, "init_fcache: Cache lookup failed for procedure %u",
@@ -259,6 +260,8 @@ init_fcache(Oid foid,
    else
        retval->func.fn_addr = (func_ptr) NULL;
 
+   heap_freetuple(procedureTuple);
+
    return retval;
 }