From: | Amit Langote <Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp> |
---|---|
To: | Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> |
Cc: | Robert Haas <robertmhaas(at)gmail(dot)com>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: NOT NULL constraints on range partition key columns |
Date: | 2017-05-17 00:19:36 |
Message-ID: | ac6974a7-0e9f-7f37-431f-0dece70d94e6@lab.ntt.co.jp |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 2017/05/16 21:16, Amit Kapila wrote:
> On Tue, May 16, 2017 at 3:26 PM, Amit Langote
> <Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp> wrote:
>> On 2017/05/16 4:29, Robert Haas wrote:
>>> Yeah, that's exactly why I think we should make the change Amit is
>>> proposing here. If we don't, then we won't be able to accept NULL
>>> values even after we have the default partitioning stuff.
>>
>> Attached is a patch for consideration. There are 2 actually, but maybe
>> they should be committed together if we decide do go with this.
>>
>
> After your changes in get_qual_for_range(), below comment in that
> function needs an update and I feel it is better to update the
> function header as well.
>
> /*
> * A range-partitioned table does not allow partition keys to be null. For
> * simple columns, their NOT NULL constraint suffices for the enforcement
> * of non-nullability. But for the expression keys, which are still
> * nullable, we must emit a IS NOT NULL expression. Collect them in
> * result first.
> */
Thanks for the review. I updated the comments.
Thanks,
Amit
Attachment | Content-Type | Size |
---|---|---|
0001-No-explicit-NOT-NULL-constraints-on-range-partition-.patch | text/x-diff | 13.1 KB |
0002-Change-error-when-tuple-routing-sees-NULL-in-range-k.patch | text/x-diff | 2.3 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2017-05-17 00:36:46 | pgsql: Preventive maintenance in advance of pgindent run. |
Previous Message | Haribabu Kommi | 2017-05-17 00:15:18 | Re: Increasing parallel workers at runtime |