Re: Creating foreign key constraint to child table?

Поиск
Список
Период
Сортировка
От Allan Engelhardt
Тема Re: Creating foreign key constraint to child table?
Дата
Msg-id 3B6DA4C4.CEC3B8F2@cybaea.com
обсуждение исходный текст
Ответ на Re: Creating foreign key constraint to child table?  (Stephan Szabo <sszabo@megazone23.bigpanda.com>)
Список pgsql-sql
Stephan Szabo wrote:

> On Sun, 5 Aug 2001, Allan Engelhardt wrote:

[see new example below]

> Not that this is related to what you asked about precisely (I saw the
> response you made), but the query above also doesn't do what you think
> it does right now.  It currently makes a reference to only foo, not
> any subchildren of foo.

Oh, man!  You are right, but this sux big time: there should not be an asymmetry between a FOREIGN KEY constraint and
theSELECT statement.  Now that the default is SQL_INHERITANCE ON, it should be the default for the constraint as well,
IMHO.

1. Am I the only one who thinks this is a bug?

2. How would I get the behaviour I expect?  Write my own trigger? :-P

   --- Allan.


test=# create table foo (id integer primary key);
test=# create table bar () inherits (foo);
test=# create table baz (bar integer,      constraint fk_bar foreign key (bar) references foo(id));
test=# insert into foo values (1);
test=# insert into bar values (2);
test=# insert into baz values (2);
ERROR:  fk_bar referential integrity violation - key referenced from baz not found in foo
test=# select * from foo where id = 2;id
---- 2
(1 row)

test=#




В списке pgsql-sql по дате отправления:

Предыдущее
От: Stephan Szabo
Дата:
Сообщение: Re: Creating foreign key constraint to child table?
Следующее
От: "Dmitry G. Mastrukov" Дмитрий Геннадьевич Мастрюков
Дата:
Сообщение: Re: Creating foreign key constraint to child table?