pgsql: Prevent altering partitioned table's rowtype, if it's used elsew

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Prevent altering partitioned table's rowtype, if it's used elsew
Date: 2022-01-06 21:47:14
Message-ID: E1n5abK-0004Ny-15@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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_10_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/e5b044c84e8a8c0a3bfca66a245b08316532110c

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, 37 insertions(+), 12 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Michael Paquier 2022-01-07 04:49:48 pgsql: Refactor tar method of walmethods.c to rely on the compression m
Previous Message Tom Lane 2022-01-06 21:47:13 pgsql: Prevent altering partitioned table's rowtype, if it's used elsew