Re: pgsql: Fix run-time partition pruning for appends with multiple source

From: Christoph Berg <myon(at)debian(dot)org>
To: PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: pgsql: Fix run-time partition pruning for appends with multiple source
Date: 2018-08-08 10:30:55
Message-ID: 20180808103055.GC3999@msg.df7cb.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-hackers

Re: Tom Lane 2018-08-02 <E1fl0m0-0005T3-DO(at)gemulon(dot)postgresql(dot)org>
> Fix run-time partition pruning for appends with multiple source rels.
>
> The previous coding here supposed that if run-time partitioning applied to
> a particular Append/MergeAppend plan, then all child plans of that node
> must be members of a single partitioning hierarchy. This is totally wrong,
> since an Append could be formed from a UNION ALL: we could have multiple
> hierarchies sharing the same Append, or child plans that aren't part of any
> hierarchy.
>
> To fix, restructure the related plan-time and execution-time data
> structures so that we can have a separate list or array for each
> partitioning hierarchy. Also track subplans that are not part of any
> hierarchy, and make sure they don't get pruned.
>
> Per reports from Phil Florent and others. Back-patch to v11, since
> the bug originated there.

Since this commit added a new node type, all following node types got
renumbered. This means all extension modules using the information
compiled against 11beta2 need to be recompiled against 11beta3.

For apt.postgresql.org, the list of affected modules (so far, haven't
yet checked all) is pgsql-ogr-fdw, plr, wal2json.

I believe this should be mentioned in the beta3 release notes.

Christoph

(Thanks to Andrew Gierth for helping me pinpoint the issue.)

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2018-08-08 14:04:12 Re: pgsql: Fix run-time partition pruning for appends with multiple source
Previous Message pgsql 2018-08-07 22:08:42 pgsql: Tag refs/tags/REL9_4_19 was created

Browse pgsql-hackers by date

  From Date Subject
Next Message KES 2018-08-08 10:55:53 Re: Typo in doc or wrong EXCLUDE implementation
Previous Message David Rowley 2018-08-08 10:24:07 Re: Internal error XX000 with enable_partition_pruning=on, pg 11 beta1 on Debian