BUG #4019: Comparison of user defined domain doesn't work
От | Jan Strube |
---|---|
Тема | BUG #4019: Comparison of user defined domain doesn't work |
Дата | |
Msg-id | 200803070938.m279chva067794@wwwmaster.postgresql.org обсуждение исходный текст |
Ответы |
Re: BUG #4019: Comparison of user defined domain doesn't work
|
Список | pgsql-bugs |
The following bug has been logged online: Bug reference: 4019 Logged by: Jan Strube Email address: js@deriva.de PostgreSQL version: 8.3 Operating system: openSUSE Linux 10.2 Description: Comparison of user defined domain doesn't work Details: Hi, I think when cascading a DELETE to a dependent table Postgres doesn't compare the whole related fields when they are of an user defined DOMAIN type. I have two tables "z_base" and "z_ul". "z_base"'s primary key is of type "isin" which is referenced by "z_ul". "isin" is a DOMAIN of type CHARACTER(12). When I delete a record from "z_base", all records of "z_ul" whose "isin" has the same first character are also deleted. On Postgres 8.2.6 it's working as intended but not on 8.3. Here is a test case: create schema test; create domain test.isin as character(12); create table test.z_base (id test.isin primary key); create table test.z_ul (id test.isin references test.z_base(id) on update cascade on delete cascade); insert into test.z_base values ('a111'); insert into test.z_base values ('a222'); insert into test.z_base values ('x333'); insert into test.z_ul values ('a111'); insert into test.z_ul values ('a222'); insert into test.z_ul values ('x333'); select * from test.z_base join test.z_ul using (id) where z_base.id = 'a222'; -- gives a222, ok delete from test.z_base where id = 'a222'; select * from test.z_ul; -- on PG 8.2.6. gives ('a111', 'x333'), ok -- on PG 8.3 gives just 'x333', so 'a111' has also been deleted!!! Regard, Jan Strube
В списке pgsql-bugs по дате отправления: