freefuncs.c is never called from anywhere!? - Mailing list pgsql-hackers

I was rather bemused to discover just now that the node-freeing
functions in nodes/freefuncs.c are never called from anywhere;
in fact, the module hasn't got a single exported entry point!

(I expect that freeObject() is supposed to be an external entry
point; perhaps it got demoted to a static during one of Bruce's
periodic get-rid-of-unreferenced-global-symbols passes.)

So much for all that tedious labor to maintain the freeXXX functions
every time we update a node type ;-)

Now I am not quite sure what to do.  I was intending to use freeObject
to clean up rule qual/action trees during relcache flush --- up to now,
that cache data has been permanently leaked by any relcache flush
affecting a relation with rules.  But if freefuncs.c hasn't actually
been used in a long time, it may well be suffering serious bit-rot.
I am worried about turning it on just before beta.  I am especially
worried about turning it on for use only in a seldom-taken code path ---
if there are bugs in it, we may not find them until after release.

Should I chicken out and let the memory leak persist until we start
7.1 development cycle?  Or go for it and hope the code's OK?
        regards, tom lane


pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: [HACKERS] Copyright
Next
From: "Ross J. Reedstrom"
Date:
Subject: Re: [HACKERS] Re: Copyright