On Tue, 7 Nov 2000, Tom Lane wrote:
> Hiroshi Inoue <Inoue@tpf.co.jp> writes:
> > While examining recursive use of catalog cache,I found
> > a refcnt leak of relations.
> > After further investigation,I found that the following seems
> > to be the cause.
>
> > [ in EndAppend() in nodeAppend.c ]
>
> appendstate-> as_result_relation_info_list = NIL;
>
> That doesn't look like a problem to me --- the result relations *have*
> been closed, just above this line.
>
> > BTW,doesn't EndAppend() neglect to call ExecCloseIndices()
> > for RelationInfos of appendstate->as_result_relation_info_list ?
>
> Comparing nodeAppend to EndPlan(), I think you are right --- each
> resultinfo should have ExecCloseIndices applied too, in the loop just
> above the line you quote. This did not use to be a problem because
> Append plans were readonly, but now that we have UPDATE/DELETE on
> inheritance hierarchies, there's a missing step here. Was your test
> query of that kind?
Show anything configure's switch --enable-cassert? IMHO real leak must
be *probably* visible with this compile option in 7.1 (I hope:-).
Karel