Re: With commit 4e5fe9ad19, range partition missing handling for theNULL partition key
От | Amit Langote |
---|---|
Тема | Re: With commit 4e5fe9ad19, range partition missing handling for theNULL partition key |
Дата | |
Msg-id | 5aa92e95-186d-e63f-b320-59338f918c72@lab.ntt.co.jp обсуждение исходный текст |
Ответ на | With commit 4e5fe9ad19, range partition missing handling for the NULLpartition key (Rushabh Lathia <rushabh.lathia@gmail.com>) |
Ответы |
Re: With commit 4e5fe9ad19, range partition missing handling for theNULL partition key
|
Список | pgsql-hackers |
Hi Rushabh, On 2017/11/22 13:45, Rushabh Lathia wrote: > Consider the below test: > > CREATE TABLE range_tab(a int, b int) PARTITION BY RANGE(a); > CREATE TABLE range_tab_p1 PARTITION OF range_tab FOR VALUES FROM (minvalue) > TO (10); > CREATE TABLE range_tab_p2 PARTITION OF range_tab FOR VALUES FROM (10) TO > (20); > CREATE TABLE range_tab_p3 PARTITION OF range_tab FOR VALUES FROM (20) TO > (maxvalue); > > INSERT INTO range_tab VALUES(NULL, 10); > > Above insert should fail with an error "no partition of relation found for > row". > > Looking further I found that, this behaviour is changed after below commit: > > commit 4e5fe9ad19e14af360de7970caa8b150436c9dec > Author: Robert Haas <rhaas@postgresql.org> > Date: Wed Nov 15 10:23:28 2017 -0500 > > Centralize executor-related partitioning code. > > Some code is moved from partition.c, which has grown very quickly > lately; > splitting the executor parts out might help to keep it from getting > totally out of control. Other code is moved from execMain.c. All is > moved to a new file execPartition.c. get_partition_for_tuple now has > a new interface that more clearly separates executor concerns from > generic concerns. > > Amit Langote. A slight comment tweak by me. > > Before above commit insert with NULL partition key in the range partition > was throwing a proper error. Oops, good catch. > Attaching patch to fix as well as regression test. Thanks for the patch. About the code, how about do it like the attached instead? Thanks, Amit
Вложения
В списке pgsql-hackers по дате отправления: