Bug in pg_get_constraintdef (for deferrable constraints)

Поиск
Список
Период
Сортировка
От Magnus Hagander
Тема Bug in pg_get_constraintdef (for deferrable constraints)
Дата
Msg-id 81124B76C0CF364EBAC6CD213ABEDEF71D311B@ARGON.edu.sollentuna.se
обсуждение исходный текст
Ответы Re: Bug in pg_get_constraintdef (for deferrable constraints)  (Bruce Momjian <pgman@candle.pha.pa.us>)
Список pgsql-hackers
Postgresql 7.3.1 on Linux i386 - but from what I can see it is on all platforms

It seems pg_get_constraintdef does not remember the setting "DEFERRABLE" on a constraint. This has the effect that it
doesnot show up in psql \d commands, and it is also *not* included in backups from pg_dump. 


Reproduce:
CREATE TABLE foo.prim(i int PRIMARY KEY);
CREATE TABLE foo.for1(j int REFERENCES foo.prim(i) NOT DEFERRABLE);
CREATE TABLE foo.for2(j int REFERENCES foo.prim(i) DEFERRABLE);

"\d foo.for1" and "\d foo.for2" will then show the exact same definition of the constraint:      Table "foo.for2"Column
| Type   | Modifiers 
--------+---------+-----------j      | integer |
Foreign Key constraints: $1 FOREIGN KEY (j) REFERENCES foo.prim(i) ON UPDATE NO ACTION ON DELETE NO ACTION



Seems to me like ruleutils.c at around line 600 is the place, and that is has no concept of DEFERRABLE anywhere near
that,but I'm not comfortable enough in there to produce a patch myself...  


//Magnus



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

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: PostgreSQL Password Cracker
Следующее
От: Bruce Momjian
Дата:
Сообщение: Re: Bug in pg_get_constraintdef (for deferrable constraints)