Thread: pgsql/src/include/catalog (index.h)

pgsql/src/include/catalog (index.h)

From
Tom Lane
Date:
  Date: Friday, June 30, 2000 @ 03:04:06
Author: tgl

Update of /home/projects/pgsql/cvsroot/pgsql/src/include/catalog
     from hub.org:/home/projects/pgsql/tmp/cvs-serv96341/include/catalog

Modified Files:
    index.h

-----------------------------  Log Message  -----------------------------

Use a private memory context to store rule information in each relcache
entry that has rules.  This allows us to release the rule parsetrees
on relcache flush without needing a working freeObject() routine.
Formerly, the rule trees were leaked permanently at relcache flush.
Also, clean up handling of rule creation and deletion --- there was
not sufficient locking of the relation being modified, and there was
no reliable notification of other backends that a relcache reload
was needed.  Also, clean up relcache.c code so that scans of system
tables needed to load a relcache entry are done in the caller's
memory context, not in CacheMemoryContext.  This prevents any
un-pfreed memory from those scans from becoming a permanent memory
leak.