Re: negative bitmapset member not allowed Error with partition pruning
David Rowley <david.rowley@2ndquadrant.com>
From: David Rowley <david.rowley@2ndquadrant.com>
To: Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Rajkumar Raghuwanshi <rajkumar.raghuwanshi@enterprisedb.com>, pgsql-hackers <pgsql-hackers@postgresql.org>,
David Rowley <dgrowleyml@gmail.com>
Date: 2018-07-27T02:42:45Z
Lists: pgsql-hackers
On 27 July 2018 at 13:35, Amit Langote <Langote_Amit_f8@lab.ntt.co.jp> wrote: > On 2018/07/27 1:28, Tom Lane wrote: >> (BTW, I'm not sure that it was wise to design bms_add_range to fail for >> empty ranges. Maybe it'd be better to redefine it as a no-op for >> upper < lower?) > > FWIW, I was thankful that David those left those checks there, because it > helped expose quite a few bugs when writing this code or perhaps that was > his intention to begin with, but maybe he thinks differently now (?). I think it's more useful to keep as a bug catcher, although I do understand the thinking behind just having it be a no-op. Partition pruning is complex code so I think additional caution is warranted. People are more likely to notice the error and complain. It's likely especially useful with tools like sqlsmith, as I imagine it does not validate the actual results of queries (does it?). but I'm pretty sure that the ERROR would get flagged up. -- David Rowley http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services
Commits
-
Verify range bounds to bms_add_range when necessary
- d25d45e4d922 12.0 landed
- a0655ba68fb5 11.0 landed
-
Change bms_add_range to be a no-op for empty ranges
- 1b68010518c9 12.0 landed
- 192d1bbf9969 11.0 landed