From: | Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> |
---|---|
To: | Amit Langote <Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp> |
Cc: | Amit Langote <amitlangote09(at)gmail(dot)com>, Ashutosh Bapat <ashutosh(dot)bapat(at)enterprisedb(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Jürgen Strobel <juergen+postgresql(at)strobel(dot)info> |
Subject: | Re: BUG #15212: Default values in partition tables don't work as expected and allow NOT NULL violation |
Date: | 2018-11-09 15:59:43 |
Message-ID: | 20181109155943.xnlbcyzp7crnyjmo@alvherre.pgsql |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs pgsql-hackers |
On 2018-Nov-09, Amit Langote wrote:
> Or is it a *bug* of tuple-routing that it doesn't substitute default
> values that may be defined for partitions? It kind of looks like one if
> you see an example like this.
>
> create table p (a int, b int) partition by list (a);
> create table p1 partition of p (b not null default 1) for values in (1);
> insert into p1 values (1);
> table p;
> a │ b
> ───┼───
> 1 │ 1
> (1 row)
>
> insert into p values (1);
> ERROR: null value in column "b" violates not-null constraint
> DETAIL: Failing row contains (1, null).
I don't know. I wonder if the bug isn't that we allow the default to be
specified for the partition at all -- why shouldn't we just reject that
with an error?
See this example, where the inserts give values that could be said to be
inconsistent:
create table p (a int , b int default 3) partition by list (a);
create table p1 partition of p (b default 42) for values in (1);
insert into p (a) values (1);
insert into p1 (a) values (1);
select * from p;
a │ b
───┼────
1 │ 3
1 │ 42
(2 filas)
--
Álvaro Herrera https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
From | Date | Subject | |
---|---|---|---|
Next Message | Joe Conway | 2018-11-09 16:02:21 | Re: Compatibility issues with version 9.5 |
Previous Message | PG Bug reporting form | 2018-11-09 15:47:59 | BUG #15495: Ldap authentication not working with multiple server in Postgresql 11 |
From | Date | Subject | |
---|---|---|---|
Next Message | Konstantin Knizhnik | 2018-11-09 16:08:58 | Re: [HACKERS] Surjective functional indexes |
Previous Message | Adam Berlin | 2018-11-09 15:51:23 | Re: COPY FROM WHEN condition |