Change bms_add_range to be a no-op for empty ranges
Alvaro Herrera <alvherre@alvh.no-ip.org>
Change bms_add_range to be a no-op for empty ranges In commit 84940644de93, bms_add_range was added with an API to fail with an error if an empty range was specified. This seems arbitrary and unhelpful, so turn that case into a no-op instead. Callers that require further verification on the arguments or result can apply them by themselves. This fixes the bug that partition pruning throws an API error for a case involving the default partition of a default partition, as in the included test case. Reported-by: Rajkumar Raghuwanshi <rajkumar.raghuwanshi@enterprisedb.com> Diagnosed-by: Tom Lane <tgl@sss.pgh.pa.us> Discussion: https://postgr.es/m/16590.1532622503@sss.pgh.pa.us
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/nodes/bitmapset.c | modified | +5 −2 |
| src/test/regress/expected/partition_prune.out | modified | +15 −0 |
| src/test/regress/sql/partition_prune.sql | modified | +7 −0 |
Discussion
- negative bitmapset member not allowed Error with partition pruning 8 messages · 2018-07-26 → 2018-07-30