diff options
author | Alvaro Herrera <alvherre@alvh.no-ip.org> | 2019-01-18 14:49:40 -0300 |
---|---|---|
committer | Alvaro Herrera <alvherre@alvh.no-ip.org> | 2019-01-18 14:57:49 -0300 |
commit | 4dff8935fbab64aef38470424cc57dbda9efa1cf (patch) | |
tree | 30945215314c799aff9a25573a3fda6a6e4c906d /src/backend/executor | |
parent | fca6cabed17c4960224408d44e3d384b560b78f5 (diff) | |
download | postgresql-4dff8935fbab64aef38470424cc57dbda9efa1cf.tar.gz postgresql-4dff8935fbab64aef38470424cc57dbda9efa1cf.zip |
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
Diffstat (limited to 'src/backend/executor')
0 files changed, 0 insertions, 0 deletions