Re: [HACKERS] Inherited constraints and search paths (was Re:
От | Tom Lane |
---|---|
Тема | Re: [HACKERS] Inherited constraints and search paths (was Re: |
Дата | |
Msg-id | 25273.1116604306@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: [HACKERS] Inherited constraints and search paths (was Re: (Simon Riggs <simon@2ndquadrant.com>) |
Ответы |
Re: [HACKERS] Inherited constraints and search paths
Re: [HACKERS] Inherited constraints and search paths (was |
Список | pgsql-general |
Simon Riggs <simon@2ndquadrant.com> writes: > Doing anything to restrict dropping of inherited constraints seems like > wasted effort and potentially annoying anyhow. Uh, why? Arguably the constraints are as much part of the parent table definition as the columns themselves. If you had "check (f1 > 0)" in the definition of a table, wouldn't you be pretty surprised to select from it and find rows with f1 < 0? regression=# create table parent(f1 int check (f1 > 0)); CREATE TABLE regression=# create table child() inherits(parent); CREATE TABLE regression=# alter table child drop constraint parent_f1_check; ALTER TABLE regression=# insert into child values(-1); INSERT 0 1 regression=# select * from parent; f1 ---- -1 (1 row) I think a good argument can be made that the above behavior is a bug, and that the ALTER command should have been rejected. We've gone to great lengths to make sure you can't ALTER a child table to make it incompatible with the parent in terms of the column names and types; shouldn't this be true of check constraints as well? regards, tom lane
В списке pgsql-general по дате отправления: