Hiroshi Inoue <[EMAIL PROTECTED]> 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?

                        regards, tom lane

Reply via email to