pgsql: Fix creation of duplicate foreign keys on partitions
От | Alvaro Herrera |
---|---|
Тема | pgsql: Fix creation of duplicate foreign keys on partitions |
Дата | |
Msg-id | E1gkYYC-0005HX-RM@gemulon.postgresql.org обсуждение исходный текст |
Список | pgsql-committers |
Fix creation of duplicate foreign keys on partitions When creating a foreign key in a partitioned table, if some partitions already have equivalent constraints, we wastefully create duplicates of the constraints instead of attaching to the existing ones. That's inconsistent with the de-duplication that is applied when a table is attached as a partition. To fix, reuse the FK-cloning code instead of having a separate code path. Backpatch to Postgres 11. This is a subtle behavior change, but surely a welcome one since there's no use in having duplicate foreign keys. Discovered by Álvaro Herrera while thinking about a different problem reported by Jesper Pedersen (bug #15587). Author: Álvaro Herrera Discussion: https://postgr.es/m/201901151935.zfadrzvyof4k@alvherre.pgsql Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/0325d7a5957ba39a0dce90835ab54a08ab8bf762 Modified Files -------------- src/backend/commands/tablecmds.c | 39 +++++++++++---- src/test/regress/expected/foreign_key.out | 83 +++++++++++++++++++++++++++++++ src/test/regress/sql/foreign_key.sql | 38 ++++++++++++++ 3 files changed, 150 insertions(+), 10 deletions(-)
В списке pgsql-committers по дате отправления: