From: | Allan Engelhardt <allane(at)cybaea(dot)com> |
---|---|
To: | Stephan Szabo <sszabo(at)megazone23(dot)bigpanda(dot)com> |
Subject: | Re: Creating foreign key constraint to child table? |
Date: | 2001-08-05 19:55:48 |
Message-ID: | 3B6DA4C4.CEC3B8F2@cybaea.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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 the SELECT 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=#
From | Date | Subject | |
---|---|---|---|
Next Message | Dmitry G. Mastrukov Дмитрий Геннадьевич Мастрюков | 2001-08-05 21:28:02 | Re: Creating foreign key constraint to child table? |
Previous Message | Stephan Szabo | 2001-08-05 19:20:11 | Re: Creating foreign key constraint to child table? |