Reset relhassubclass upon attaching table as a partition We don't allow inheritance parents as partitions, and have checks to prevent this; but if a table _was_ in the past an inheritance parents and all their children are removed, the pg_class.relhassubclass flag may remain set, which confuses the partition pruning code (most obviously, it results in an assertion failure; in production builds it may be worse.)
Fix by resetting relhassubclass on attach. Backpatch to all supported versions. Reported-by: Alexander Lakhin <[email protected]> Reviewed-by: Tom Lane <[email protected]> Discussion: https://postgr.es/m/[email protected] Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/3dd637f3d5997eb5ef3ccf8787e6fa091d93cd0c Modified Files -------------- src/backend/catalog/heap.c | 8 ++++++++ src/test/regress/expected/alter_table.out | 10 +++++++++- src/test/regress/sql/alter_table.sql | 7 +++++++ 3 files changed, 24 insertions(+), 1 deletion(-)
