Re: [HACKERS] GSoC 2017: Foreign Key Arrays
От | Mark Rofail |
---|---|
Тема | Re: [HACKERS] GSoC 2017: Foreign Key Arrays |
Дата | |
Msg-id | CAJvoCussPoxQZniNi_or4LqZv7w4UACVytdWdJYHEeO4RhTrYA@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: [HACKERS] GSoC 2017: Foreign Key Arrays ("Joel Jacobson" <joel@compiler.org>) |
Ответы |
Re: [HACKERS] GSoC 2017: Foreign Key Arrays
|
Список | pgsql-hackers |
Hi Joel,
As always, great catch!
As always, great catch!
Kindly find the updated patch (v15) below
Changelog:
- v15 (compatible with current master 2021-01-27, commit e42b3c3bd6a9c6233ac4c8a2e9b040367ba2f97c)
* remove "EACH ELEMENT OF" from violation messages
* accommodate tests accordingly
Keep up the good work testing this patch.
/Mark
On Wed, Jan 27, 2021 at 5:11 AM Joel Jacobson <joel@compiler.org> wrote:
On Tue, Jan 26, 2021, at 12:59, Mark Rofail wrote:> Please don't hesitate to give your feedback.The error message for insert or update violations looks fine:UPDATE catalog_clone.pg_extension SET extconfig = ARRAY[12345] WHERE oid = 10;ERROR: insert or update on table "pg_extension" violates foreign key constraint "pg_extension_extconfig_fkey"DETAIL: Key (EACH ELEMENT OF extconfig)=(12345) is not present in table "pg_class".But when trying to delete a still referenced row,the column mentioned in the "EACH ELEMENT OF" sentenceis not the array column, but the column in the referenced table:DELETE FROM catalog_clone.pg_class WHERE oid = 10;ERROR: update or delete on table "pg_class" violates foreign key constraint "pg_extension_extconfig_fkey" on table "pg_extension"DETAIL: Key (EACH ELEMENT OF oid)=(10) is still referenced from table "pg_extension".I think either the "EACH ELEMENT OF" part of the latter error message should be dropped,or the column name for the array column should be used./Joel
В списке pgsql-hackers по дате отправления: