Re: [HACKERS] pg_upgrade failed with error - ERROR: column "a" inchild table must be marked NOT NULL
От | Amit Langote |
---|---|
Тема | Re: [HACKERS] pg_upgrade failed with error - ERROR: column "a" inchild table must be marked NOT NULL |
Дата | |
Msg-id | 217ddce6-1b0f-509d-f8e0-5ddd9cad5d86@lab.ntt.co.jp обсуждение исходный текст |
Ответ на | Re: [HACKERS] pg_upgrade failed with error - ERROR: column "a" inchild table must be marked NOT NULL (Ali Akbar <the.apaan@gmail.com>) |
Ответы |
Re: [HACKERS] pg_upgrade failed with error - ERROR: column "a" inchild table must be marked NOT NULL
|
Список | pgsql-hackers |
Hi. On 2017/12/13 9:22, Ali Akbar wrote: > For me, it's better to prevent that from happening. So, attempts to > DROP NOT NULL on the child must be rejected. The attached patch does > that. > > Unfortunately, pg_class has no "has_parent" attribute, so in this > patch, it hits pg_inherits everytime DROP NOT NULL is attempted. > > Notes: > - It looks like we could remove the parent partition checking above? > Because the new check already covers what it does I noticed that too. So, if we're going to prevent DROP NOT NULL on *all* child table (not just partitions), we don't need the code that now sits there to prevent that only for partitions. Minor comments on the patch: + /* If rel has parents, shoudn't drop NOT NULL if parent has the same */ How about: ".. if some parent has the same" + heap_close(parent, AccessShareLock); Maybe, we shouldn't be dropping the lock so soon. Thanks, Amit
В списке pgsql-hackers по дате отправления: