Re: pgsql: Fix run-time partition pruning for appends with multiplesource - Mailing list pgsql-hackers

From Christoph Berg
Subject Re: pgsql: Fix run-time partition pruning for appends with multiplesource
Date
Msg-id 20180808103055.GC3999@msg.df7cb.de
Whole thread Raw
Responses Re: pgsql: Fix run-time partition pruning for appends with multiple source
List pgsql-hackers
Re: Tom Lane 2018-08-02 <E1fl0m0-0005T3-DO@gemulon.postgresql.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.)


pgsql-hackers by date:

Previous
From: David Rowley
Date:
Subject: Re: Internal error XX000 with enable_partition_pruning=on, pg 11beta1 on Debian
Next
From: KES
Date:
Subject: Re: Typo in doc or wrong EXCLUDE implementation