"Hiroshi Inoue" <Inoue@tpf.co.jp> writes:
> I think so. The problem is that Node struct couldn't be freed safely
> due to the lack of reference count in its definition. As far as I see
> plans could be destroyed only when the memory context in which
> they are placed are destroyed.
This is overly conservative. It should be safe to destroy a plan tree
via freeObject() if it was created via copyObject() --- and that is
certainly how the plan would get into a permanent memory context.
Currently, rule definitions are leaked in CacheContext at relcache
flushes. I plan to start freeing them via freeObject at the beginning
of the 7.1 development cycle --- I didn't want to risk it during the
runup to 7.0, but I believe it will work fine.
regards, tom lane