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
v12-HEAD-PG14-0001-fix-memory-leak-about-attrmap.patch
Description: v12-HEAD-PG14-0001-fix-memory-leak-about-attrmap.patch
v12-PG13-0001-fix-memory-leak-about-attrmap.patch
Description: v12-PG13-0001-fix-memory-leak-about-attrmap.patch
v12-PG10-11-12-0001-Fix-memory-leak-about-attrmap.patch
Description: v12-PG10-11-12-0001-Fix-memory-leak-about-attrmap.patch