Hi, I just pushed David patch, with some pretty minor changes. I hope not to have broken anything.
Amit Langote wrote: > Your proposed changes to inheritance_planner() look fine to me. In the > comment added by the patch in relation_excluded_by_constraints(): > > + /* > + * When constraint_exclusion is set to 'partition' we only handle > + * OTHER_MEMBER_RELs, or BASERELs in cases where the result target is an > + * inheritance parent or a partitioned table. > + */ > > Just to clarify this a bit, would it be a good idea to be specific by > appending " (see inheritance_planner() where this is determined)" or some > such to this sentence? I didn't think that was really required. > BTW, while we're at it, would it also be a good idea to consider the patch > you had proposed, which I then posted an updated version of, to adjust the > documentation in ddl.sgml (in the section 5.10. Table Partitioning) > regarding the relationship between constraint exclusion and declarative > partitioning? I looked at this one. That patch has two hunks. I applied a change where the first hunk is, to replace constraint_exclusion with the new GUC -- seemed easy enough. However, the second hunk is on "5.10.4. Partitioning and Constraint Exclusion" which needs major editing. Not really sure how best to handle that one. For starters, I think it need to stop mentioning the GUC name in the title; maybe rename it to "Partition Pruning" or some such, and then in the text explain that sometimes the enable_partition_pruning param is used in one case and constraint_exclusion in the other, and approximately what effects they have. I don't think it's worth going into too much detail on exactly how they differ, but then I'm not 100% sure of that either. -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services