pgsql: Prevent altering partitioned table's rowtype, if it's used elsew - Mailing list pgsql-committers

From Tom Lane
Subject pgsql: Prevent altering partitioned table's rowtype, if it's used elsew
Date
Msg-id E1n5abJ-0004Ns-WB@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Prevent altering partitioned table's rowtype, if it's used elsewhere.

We disallow altering a column datatype within a regular table,
if the table's rowtype is used as a column type elsewhere,
because we lack code to go around and rewrite the other tables.
This restriction should apply to partitioned tables as well, but it
was not checked because ATRewriteTables and ATPrepAlterColumnType
were not on the same page about who should do it for which relkinds.

Per bug #17351 from Alexander Lakhin.  Back-patch to all supported
branches.

Discussion: https://postgr.es/m/17351-6db1870f3f4f612a@postgresql.org

Branch
------
REL_13_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/86d4bbb56a8aa94e8926067a5bf86a5a74b8c933

Modified Files
--------------
src/backend/commands/tablecmds.c          |  7 +++----
src/test/regress/expected/alter_table.out | 23 ++++++++++++++++++-----
src/test/regress/sql/alter_table.sql      | 19 +++++++++++++++----
3 files changed, 36 insertions(+), 13 deletions(-)


pgsql-committers by date:

Previous
From: Tom Lane
Date:
Subject: pgsql: Extend psql's \lo_list/\dl to be able to print large objects' AC
Next
From: Tom Lane
Date:
Subject: pgsql: Prevent altering partitioned table's rowtype, if it's used elsew