On Wed, 4 Oct 2023 at 04:02, Ashutosh Bapat <ashutosh.bapat....@gmail.com> wrote: > > On Fri, Sep 29, 2023 at 8:36 AM Amit Langote <amitlangot...@gmail.com> wrote: > > IOW, something > > like the following would have sufficed: > > > > @@ -1735,6 +1735,10 @@ build_child_join_sjinfo(PlannerInfo *root, > > SpecialJoinInfo *parent_sjinfo, > > /* > > * free_child_sjinfo_members > > * Free memory consumed by members of a child SpecialJoinInfo. > > + * > > + * Only members that are translated copies of their counterpart in the > > parent > > + * SpecialJoinInfo are freed here. However, members that could be > > referenced > > + * elsewhere are not freed. > > */ > > static void > > free_child_sjinfo_members(SpecialJoinInfo *child_sjinfo) > > @@ -1755,10 +1759,7 @@ free_child_sjinfo_members(SpecialJoinInfo > > *child_sjinfo) > > bms_free(child_sjinfo->syn_lefthand); > > bms_free(child_sjinfo->syn_righthand); > > > > - /* > > - * But the list of operator OIDs and the list of expressions may be > > - * referenced somewhere else. Do not free those. > > - */ > > + /* semi_rhs_exprs may be referenced, so don't free. */ > > } > > Works for me. PFA patchset with these changes. I have still left the > changes addressing your comments as a separate patch for easier > review.
CFBot shows that the patch does not apply anymore as in [1]: === Applying patches on top of PostgreSQL commit ID 55627ba2d334ce98e1f5916354c46472d414bda6 === === applying patch ./0001-Report-memory-used-for-planning-a-query-in--20231003.patch ... Hunk #1 succeeded at 89 (offset -3 lines). patching file src/test/regress/expected/explain.out Hunk #5 FAILED at 285. Hunk #6 succeeded at 540 (offset 4 lines). 1 out of 6 hunks FAILED -- saving rejects to file src/test/regress/expected/explain.out.rej Please post an updated version for the same. [1] - http://cfbot.cputube.org/patch_46_4500.log Regards, Vignesh