pgsql: Remove assertion for ALTER TABLE .. DETACH PARTITION CONCURRENTL

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Remove assertion for ALTER TABLE .. DETACH PARTITION CONCURRENTL
Date: 2021-12-22 06:38:29
Message-ID: E1mzvGf-00048j-V0@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Remove assertion for ALTER TABLE .. DETACH PARTITION CONCURRENTLY

One code path related to this flavor of ALTER TABLE was checking that
the relation to detach has to be a normal table or a partitioned table,
which would fail if using the command with a different relation kind.

Views, sequences and materialized views cannot be part of a partition
tree, so these would cause the command to fail anyway, but the assertion
was triggered. Foreign tables can be part of a partition tree, and
again the assertion would have failed. The simplest solution is just to
remove this assertion, so as we get the same failure as the
non-concurrent code path.

While on it, add a regression test in postgres_fdw for the concurrent
partition detach of a foreign table, as per a suggestion from Alexander
Lakhin.

Issue introduced in 71f4c8c.

Reported-by: Alexander Lakhin
Author: Michael Paquier, Alexander Lakhin
Reviewed-by: Peter Eisentraut, Kyotaro Horiguchi
Discussion: https://postgr.es/m/17339-a9e09aaf38a3457a@postgresql.org
Backpatch-through: 14

Branch
------
REL_14_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/8a22a40b2cfd1ea3218663153e5c6d7ebc68d2bf

Modified Files
--------------
contrib/postgres_fdw/expected/postgres_fdw.out | 3 +++
contrib/postgres_fdw/sql/postgres_fdw.sql | 3 +++
src/backend/commands/tablecmds.c | 2 --
3 files changed, 6 insertions(+), 2 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Peter Eisentraut 2021-12-22 06:52:52 pgsql: Fix typo in code comment
Previous Message Amit Kapila 2021-12-22 02:37:35 pgsql: Move index vacuum routines to vacuum.c.