Re: speeding up planning with partitions - Mailing list pgsql-hackers

From Robert Haas
Subject Re: speeding up planning with partitions
Date
Msg-id CA+TgmoY=khg-JXfisZg7ANkwv_EbsfzQgB8anTPgVNXa7PZdDw@mail.gmail.com
Whole thread Raw
In response to Re: speeding up planning with partitions  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: speeding up planning with partitions
List pgsql-hackers
On Sat, Mar 30, 2019 at 11:46 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:
> > The only problem with PartitionPruneInfo structures of which I am
> > aware is that they rely on PartitionDesc offsets not changing. But I
> > added code in that commit in ExecCreatePartitionPruneState to handle
> > that exact problem.  See also paragraph 5 of the commit message, which
> > begins with "Although in general..."
>
> Ah.  Grotty, but I guess it will cover the issue.

I suppose it is.  I am a little suspicious of the decision to make
PartitionPruneInfo structures depend on PartitionDesc indexes.  First,
it's really non-obvious that the dependency exists, and I do not think
I would have spotted it had not Alvaro pointed the problem out.
Second, I wonder whether it is really a good idea in general to make a
plan depend on array indexes when the array is not stored in the plan.
In one sense, we do that all the time, because attnums are arguably
just indexes into what is conceptually an array of attributes.
However, I feel that's not quite the same, because the attnum is
explicitly stored in the catalogs, and PartitionDesc array indexes are
not stored anywhere, but rather are the result of a fairly complex
calculation.  Now I guess it's probably OK because we will probably
have lots of other problems if we don't get the same answer every time
we do that calculation, but it still makes me a little nervous.  I
would try to propose something better but I don't have a good idea.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: speeding up planning with partitions
Next
From: Ryan Lambert
Date:
Subject: Re: Fix XML handling with DOCTYPE