Re: [HACKERS] Multi column range partition table
От | Dean Rasheed |
---|---|
Тема | Re: [HACKERS] Multi column range partition table |
Дата | |
Msg-id | CAEZATCVcBCBZsMcHj37TF+dcsjCtKZdZ_FAaJjaFMvfoXRqZMg@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: [HACKERS] Multi column range partition table (Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>) |
Ответы |
Re: [HACKERS] Multi column range partition table
|
Список | pgsql-hackers |
On 30 June 2017 at 09:06, Amit Langote <Langote_Amit_f8@lab.ntt.co.jp> wrote: > When testing the patch, I realized that the current code in > check_new_partition_bound() that checks for range partition overlap had a > latent bug that resulted in false positives for the new cases that the new > less restrictive syntax allowed. I spent some time simplifying that code > while also fixing the aforementioned bug. It's implemented in the > attached patch 0001. > I haven't had time to look at 0002 yet, but looking at 0001, I'm not convinced that this really represents much of a simplification, but I do prefer the way it now consistently reports the first overlapping partition in the error message. I'm not entirely convinced by this change either: - if (equal || off1 != off2) + if (off2 > off1 + 1 || ((off2 == off1 + 1) && !equal)) Passing probe_is_bound = true to partition_bound_bsearch() will I think cause it to return equal = false when the upper bound of one partition equals the lower bound of another, so relying on the "equal" flag here seems a bit dubious. I think I can just about convince myself that it works, but not for the reasons stated in the comments. It also seems unnecessary for this code to be doing 2 binary searches. I think a better simplification would be to just do one binary search to find the gap that the lower bound fits in, and then test the upper bound of the new partition against the lower bound of the next partition (if there is one), as in the attached patch. Regards, Dean -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Вложения
В списке pgsql-hackers по дате отправления: