BUG #15247: At 'ALTER TABLE ADD COLUMN fast default' ,Set attmissingval to NULL in the pg_attribute, query fail - Mailing list pgsql-bugs

From PG Bug reporting form
Subject BUG #15247: At 'ALTER TABLE ADD COLUMN fast default' ,Set attmissingval to NULL in the pg_attribute, query fail
Date
Msg-id 152938199549.1445.15943776243848338882@wrigleys.postgresql.org
Whole thread Raw
Responses Re: BUG #15247: At 'ALTER TABLE ADD COLUMN fast default' , Setattmissingval to NULL in the pg_attribute, query fail  (Michael Paquier <michael@paquier.xyz>)
Re: BUG #15247: At 'ALTER TABLE ADD COLUMN fast default' , Set attmissingval to NULL in the pg_attribute, query fail  (Andrew Gierth <andrew@tao11.riddles.org.uk>)
List pgsql-bugs
The following bug has been logged on the website:

Bug reference:      15247
Logged by:          guangxian li
Email address:      liguangxian1995@gmail.com
PostgreSQL version: 11beta1
Operating system:   debian 6.4.0
Description:

Dear developer:
Steps:
(1)  create table test(a int);
(2)  insert into test values(1),(2),(3);
(3)  alter table test add b int not null default 0;
(4)  update pg_attribute set attmissingval = NULL where attname = 'b';
(5) select b from test;
Then,query the b field from the test table(select b from test;) , lead to
server closed the connection unexpectedly .

I think this a bug ,or not.  Meanwhile,I think we should add an statement
--if(att->atthasmissing && tupleDesc->constr->missing) .Not Assert().

So, Hope to get your reply,Thanks  again. 


                           
Next is a patch.

--- a/src/backend/access/common/heaptuple.c
+++ b/src/backend/access/common/heaptuple.c
@@ -91,7 +91,7 @@ getmissingattr(TupleDesc tupleDesc,
 
     att = TupleDescAttr(tupleDesc, attnum - 1);
 
-    if (att->atthasmissing)
+    if (att->atthasmissing && tupleDesc->constr->missing)
     {
         AttrMissing *attrmiss;


pgsql-bugs by date:

Previous
From: Tom Lane
Date:
Subject: Re: BUG #15246: Does not allow an INOUT parameter to receive values when its data type is a user-defined data type.
Next
From: Michael Paquier
Date:
Subject: Re: BUG #15247: At 'ALTER TABLE ADD COLUMN fast default' , Setattmissingval to NULL in the pg_attribute, query fail