Re: Record a Bitmapset of non-pruned partitions - Mailing list pgsql-hackers

From Amit Langote
Subject Re: Record a Bitmapset of non-pruned partitions
Date
Msg-id CA+HiwqHrBh0SmAFQt_=_B34AQwtqjtMF5T5n2TeSSrtKhPhNDA@mail.gmail.com
Whole thread Raw
In response to Re: Record a Bitmapset of non-pruned partitions  (David Rowley <dgrowleyml@gmail.com>)
Responses Re: Record a Bitmapset of non-pruned partitions  (Amit Langote <amitlangote09@gmail.com>)
List pgsql-hackers
On Sun, Aug 1, 2021 at 9:31 PM David Rowley <dgrowleyml@gmail.com> wrote:
> On Fri, 30 Jul 2021 at 19:10, Amit Langote <amitlangote09@gmail.com> wrote:
> > interleaved_parts idea looks clever.  I wonder if you decided that
> > it's maybe not worth setting that field in the joinrel's
> > PartitionBoundInfos?  For example, adding the code that you added in
> > create_list_bounds() also in merge_list_bounds().
>
> Currently generate_orderedappend_paths() only checks
> partitions_are_ordered() for base and other member rels, so setting
> the field for join rels would be a waste of effort given that it's not
> used for anything.
>
> I've not really looked into the possibility of enabling this
> optimization for partition-wise joined rels. I know that there's a bit
> more complexity now due to c8434d64c. I'm not really all that clear on
> which cases could be allowed here and which couldn't. It would require
> more analysis and I'd say that's a different patch.

Yeah, that makes sense.

> > ...  The definition of interleaved
> > + * is any partition that can contain multiple different values where exists at
> > + * least one other partition which could contain a value which is between the
> > + * multiple possible values in the other partition.
> >
> > The sentence sounds a bit off starting at "...where exists".  How about:
>
> I must have spent too long writing SQL queries.

Hah.

> I had another self review of these and I'm pretty happy with them. I'm
> quite glad to see the performance of querying a single partition of a
> table with large numbers of partitions no longer tails off as much as
> it used to.

Nice, glad to see the apply_scanjoin_target_to_paths() loop taken care of.

Thank you.

-- 
Amit Langote
EDB: http://www.enterprisedb.com



pgsql-hackers by date:

Previous
From: Masahiko Sawada
Date:
Subject: Re: Skipping logical replication transactions on subscriber side
Next
From: Amit Kapila
Date:
Subject: Re: Skipping logical replication transactions on subscriber side