On Tuesday, June 21, 2022 4:49 PM Amit Kapila <amit.kapil...@gmail.com>
> 
> On Tue, Jun 21, 2022 at 12:50 PM Amit Langote <amitlangot...@gmail.com>
> wrote:
> >
> > On Tue, Jun 21, 2022 at 3:35 PM houzj.f...@fujitsu.com
> > <houzj.f...@fujitsu.com> wrote:
> >
> > Attached a patch containing the above to consider as an alternative.
> >
> 
> Thanks, the patch looks good to me. I'll push this after doing some testing.

Since the patch has been committed. Attach the last patch to fix the memory 
leak.

The bug exists on PG10 ~ PG15(HEAD).

For HEAD,PG14,PG13, to fix the memory leak, I think we should use
free_attrmap instead of pfree and release the no-longer-useful attrmap
When rebuilding the map info.

For PG12,PG11,PG10, we only need to add the code to release the
no-longer-useful attrmap when rebuilding the map info. We can still use
pfree() because the attrmap in back-branch is a single array like:

entry->attrmap = palloc(desc->natts * sizeof(AttrNumber));

Best regards,
Hou zj
 

Attachment: v12-HEAD-PG14-0001-fix-memory-leak-about-attrmap.patch
Description: v12-HEAD-PG14-0001-fix-memory-leak-about-attrmap.patch

Attachment: v12-PG13-0001-fix-memory-leak-about-attrmap.patch
Description: v12-PG13-0001-fix-memory-leak-about-attrmap.patch

Attachment: v12-PG10-11-12-0001-Fix-memory-leak-about-attrmap.patch
Description: v12-PG10-11-12-0001-Fix-memory-leak-about-attrmap.patch

Reply via email to