Re: Support NOT VALID / VALIDATE constraint options for named NOT NULL constraints
От | jian he |
---|---|
Тема | Re: Support NOT VALID / VALIDATE constraint options for named NOT NULL constraints |
Дата | |
Msg-id | CACJufxGHNNMc0E2JphUqJMzD3=bwRSuAEVBF5ekgkG8uY0Q3hg@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Support NOT VALID / VALIDATE constraint options for named NOT NULL constraints (Rushabh Lathia <rushabh.lathia@gmail.com>) |
Ответы |
Re: Support NOT VALID / VALIDATE constraint options for named NOT NULL constraints
Re: Support NOT VALID / VALIDATE constraint options for named NOT NULL constraints |
Список | pgsql-hackers |
hi. attached patch is for address pg_dump inconsistency when parent is "not null not valid" while child is "not null". The following query before/after pg_dump should return the same result. select conrelid::regclass::text, conname, convalidated, coninhcount, conislocal, conparentid, contype from pg_constraint where conrelid::regclass::text = ANY('{inhnn, inhnn_cc, inhnn_cc_1}') order by 1,2; --test cases: CREATE TABLE inhnn (a INTEGER); ALTER TABLE inhnn ADD CONSTRAINT cc not null a NOT VALID; CREATE TABLE inhnn_cc(a INTEGER) INHERITS(inhnn); CREATE TABLE inhnn_cc_1(a INTEGER) INHERITS(inhnn_cc, inhnn); master pg_dump output is: CREATE TABLE public.inhnn (a integer); CREATE TABLE public.inhnn_cc (a integer) INHERITS (public.inhnn); CREATE TABLE public.inhnn_cc_1 (a integer) INHERITS (public.inhnn_cc, public.inhnn); ALTER TABLE public.inhnn ADD CONSTRAINT cc NOT NULL a NOT VALID; with the attached patch, pg_dump output is: CREATE TABLE public.inhnn (a integer); CREATE TABLE public.inhnn_cc (a integer CONSTRAINT cc NOT NULL) INHERITS (public.inhnn); CREATE TABLE public.inhnn_cc_1 (a integer CONSTRAINT cc NOT NULL) INHERITS (public.inhnn_cc, public.inhnn); ALTER TABLE public.inhnn ADD CONSTRAINT cc NOT NULL a NOT VALID; ------------- As you can see, in master, pg_dump will make {inhnn, inhnn_cc, inhnn_cc_1} not-null constraint's pg_constraint.convalidated set as false. but we should only make inhnn's not-null constraint convalidated as false.
Вложения
В списке pgsql-hackers по дате отправления: