Thread: pgsql/src/backend/rewrite (rewriteDefine.c rewriteHandler.c rewriteRemove.c rewriteSupport.c)
pgsql/src/backend/rewrite (rewriteDefine.c rewriteHandler.c rewriteRemove.c rewriteSupport.c)
From
Tom Lane
Date:
Date: Friday, June 30, 2000 @ 03:04:23 Author: tgl Update of /home/projects/pgsql/cvsroot/pgsql/src/backend/rewrite from hub.org:/home/projects/pgsql/tmp/cvs-serv96341/backend/rewrite Modified Files: rewriteDefine.c rewriteHandler.c rewriteRemove.c rewriteSupport.c ----------------------------- 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.