BUG #1689: problem with inheritance and foreign keys
От | |
---|---|
Тема | BUG #1689: problem with inheritance and foreign keys |
Дата | |
Msg-id | 20050529211439.C9322F0B03@svr2.postgresql.org обсуждение исходный текст |
Ответы |
Re: BUG #1689: problem with inheritance and foreign keys
|
Список | pgsql-bugs |
The following bug has been logged online: Bug reference: 1689 Logged by: Email address: wrobell@pld-linux.org PostgreSQL version: 8.0.3 Operating system: Linux Description: problem with inheritance and foreign keys Details: ----- schema script ------- create table employee ( __key__ integer, name varchar(10) not null, surname varchar(20) not null, phone varchar(12) not null, unique (name, surname), primary key (__key__) ); create table boss ( dep_fkey integer unique ) inherits(employee); create table department ( __key__ integer, employee_fkey integer unique, primary key (__key__), foreign key (employee_fkey) references employee(__key__) initially deferred ); alter table boss add foreign key (dep_fkey) references department(__key__) initially deferred; --------------------------- ----- data script ---------- begin; \qecho - - - adding boss - - - insert into boss (__key__, name, surname, phone, dep_fkey) values (2, 'a', 'b', 'p', 1); select * from employee; \qecho - - - adding department - - - insert into department (__key__, employee_fkey) values (1, 2); commit; --------------------------- Please: - create database - run "schema" script - run "data" script The output of "data" script: -------------------------------- BEGIN - - - adding boss - - - INSERT 32564 1 __key__ | name | surname | phone ---------+------+---------+------- 2 | a | b | p (1 row) - - - adding department - - - INSERT 32565 1 psql:g.sql:15: ERROR: insert or update on table "department" violates foreign key constraint "department_employee_fkey_fkey" DETAIL: Key (employee_fkey)=(2) is not present in table "employee". -------------------------------- As you can see, there is employee row with __key__ == 2. PostgreSQL states that it is not.
В списке pgsql-bugs по дате отправления: