Re: Record a Bitmapset of non-pruned partitions
Amit Langote <amitlangote09@gmail.com>
From: Amit Langote <amitlangote09@gmail.com>
To: David Rowley <dgrowleyml@gmail.com>
Cc: PostgreSQL Developers <pgsql-hackers@lists.postgresql.org>
Date: 2021-07-30T07:10:37Z
Lists: pgsql-hackers
On Mon, Jul 12, 2021 at 11:47 AM David Rowley <dgrowleyml@gmail.com> wrote: > v3 patches 0001 looks mostly fine, except I thought the following could be worded to say that the bitmap members are offsets into the part_rels array. To avoid someone confusing them with RT indexes, for example. + Bitmapset *live_parts; /* Bitmap with members to indicate which + * partitions survived partition pruning. */ On 0002: 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(). ... 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: "A partition is considered interleaved if it contains multiple values such that there exists at least one other partition containing a value that lies between those values [ in terms of partitioning-defined ordering ]." Looks fine otherwise. -- Amit Langote EDB: http://www.enterprisedb.com
Commits
-
Ensure interleaved_parts field is always initialized
- 16239c5fdf6e 15.0 landed
-
Allow ordered partition scans in more cases
- db632fbca392 15.0 landed
-
Track a Bitmapset of non-pruned partitions in RelOptInfo
- 475dbd0b718d 15.0 landed