Re: With commit 4e5fe9ad19, range partition missing handling for the NULL partition key
Rushabh Lathia <rushabh.lathia@gmail.com>
From: Rushabh Lathia <rushabh.lathia@gmail.com>
To: Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>
Cc: amul sul <sulamul@gmail.com>,
PostgreSQL Hackers <pgsql-hackers@postgresql.org>, Robert Haas <robertmhaas@gmail.com>
Date: 2017-11-23T10:41:59Z
Lists: pgsql-hackers
On Wed, Nov 22, 2017 at 2:36 PM, Amit Langote <Langote_Amit_f8@lab.ntt.co.jp > wrote: > On 2017/11/22 17:42, amul sul wrote: > > On Wed, Nov 22, 2017 at 11:38 AM, Amit Langote wrote: > >> On 2017/11/22 13:45, Rushabh Lathia wrote: > >>> Attaching patch to fix as well as regression test. > >> > >> Thanks for the patch. About the code, how about do it like the attached > >> instead? > >> > > > > Looks good to me, even we can skip the following change in v2 patch: > > > > 19 @@ -2560,6 +2559,8 @@ get_partition_for_tuple(Relation relation, > > Datum *values, bool *isnull) > > 20 */ > > 21 part_index = > > partdesc->boundinfo->indexes[bound_offset + 1]; > > 22 } > > 23 + else > > 24 + part_index = partdesc->boundinfo->default_index; > > 25 } > > 26 break; > > 27 > > > > default_index will get assign by following code in > get_partition_for_tuple() : > > > > /* > > * part_index < 0 means we failed to find a partition of this parent. > > * Use the default partition, if there is one. > > */ > > if (part_index < 0) > > part_index = partdesc->boundinfo->default_index; > > Good point. Updated patch attached. > Thanks Amit. Patch looks good to me. -- Rushabh Lathia www.EnterpriseDB.com
Commits
-
If a range-partitioned table has no default partition, reject null keys.
- 2d7950f2222c 11.0 landed
-
Centralize executor-related partitioning code.
- 4e5fe9ad19e1 11.0 cited