On Wed, Mar 22, 2017 at 3:43 PM, Ashutosh Bapat <ashutosh.ba...@enterprisedb.com> wrote: > Hi, > In create_unique_path() there's comment > /* > * We must ensure path struct and subsidiary data are allocated in main > * planning context; otherwise GEQO memory management causes trouble. > */ > oldcontext = MemoryContextSwitchTo(root->planner_cxt); > > pathnode = makeNode(UniquePath); > > This means that when GEQO resets the memory context, the RelOptInfo > for which this path is created and may be set to cheapest_unique_path > goes away, the unique path lingers on in the planner context. > Shouldn't we instead allocate the path in the same context as the > RelOptInfo similar to mark_dummy_rel()? >
tried this change as attached patch. I ran make installcheck with geqo_threshold = 2. Only join.sql failed several plans changed, which is expected. There was one difference related to changed output order but that's because of the changed plan. Adding this to the commitfest. -- Best Wishes, Ashutosh Bapat EnterpriseDB Corporation The Postgres Database Company
pg_upath_geqo.patch
Description: Binary data
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers