On Fri, Nov 17, 2017 at 12:57 AM, Amit Langote <langote_amit...@lab.ntt.co.jp> wrote: > While working on the patch for partition pruning for declarative > partitioned tables, I noticed that default range partition will fail to be > included in a plan in certain cases due to pruning by constraint exclusion. > you'll notice that it doesn't explicitly say that the default partition > allows rows where a is null or b is null or both are null. Given that, > constraint exclusion will end up concluding that the default partition's > constraint is refuted by a = 2. > > The attached will make the constraint to look like:
Uh, if the constraint exclusion logic we're using is drawing false conclusions, we need to fix it so it doesn't, not change the constraint so that the wrong logic gives the right answer. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company