Re: Record a Bitmapset of non-pruned partitions
David Rowley <dgrowleyml@gmail.com>
From: David Rowley <dgrowleyml@gmail.com>
To: Amit Langote <amitlangote09@gmail.com>
Cc: PostgreSQL Developers <pgsql-hackers@lists.postgresql.org>
Date: 2021-09-30T22:07:28Z
Lists: pgsql-hackers
Attachments
- initialize-inteleaved_parts_v2.patch (application/octet-stream) patch v2
On Thu, 30 Sept 2021 at 20:25, Amit Langote <amitlangote09@gmail.com> wrote: > Related to the above, I noticed while looking at > build_merged_partition_bounds() that db632fbca3 missed adding a line > to that function to set interleaved_parts to NULL. Because the > PartitionBoundInfo is only palloc'd (not palloc0'd), interleaved_parts > of a "merged" bounds struct ends up pointing to garbage, so let's fix > that. Attached a patch. Thanks for the patch. I think we also need to document that interleaved_parts is not set for join relations, otherwise someone may in the future try to use that field for an optimisation for join relations. At the moment, per generate_orderedappend_paths, we only handle IS_SIMPLE_REL type relations. I've attached a patch that updates the comments to mention this. David
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