Remove assertion for ALTER TABLE .. DETACH PARTITION CONCURRENTLY
Michael Paquier <michael@paquier.xyz>
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
Files
| Path | Change | +/− |
|---|---|---|
| contrib/postgres_fdw/expected/postgres_fdw.out | modified | +3 −0 |
| contrib/postgres_fdw/sql/postgres_fdw.sql | modified | +3 −0 |
| src/backend/commands/tablecmds.c | modified | +0 −2 |
Discussion
- BUG #17339: Assert failed on attempt to detach a sequence concurrently 7 messages · 2021-12-19 → 2021-12-22