Thread: pgsql: Fix FK checks of TRUNCATE involving partitioned tables
Fix FK checks of TRUNCATE involving partitioned tables When truncating a table that is referenced by foreign keys in partitioned tables, the check to ensure the referencing table are also truncated spuriously failed. This is because it was relying on relhastriggers as a proxy for the table having FKs, and that's wrong for partitioned tables. Fix it to consider such tables separately. There may be a better way ... but this code is pretty inefficient already. Author: Álvaro Herrera <alvherre@alvh.no-ip.org> Reviewed-by: Michael Paquiër <michael@paquier.xyz> Discussion: https://postgr.es/m/20180711000624.zmeizicibxeehhsg@alvherre.pgsql Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/cd073d8f7043d047c024f0f213c0e9c31b9c0505 Modified Files -------------- src/backend/catalog/heap.c | 7 +++- src/backend/commands/tablecmds.c | 2 +- src/test/regress/expected/truncate.out | 75 ++++++++++++++++++++++++++++++++++ src/test/regress/sql/truncate.sql | 47 +++++++++++++++++++++ 4 files changed, 128 insertions(+), 3 deletions(-)