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

Attachment: pg_upath_geqo.patch
Description: Binary data

Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:

Reply via email to