• Michael Paquier's avatar
    Remove assertion for ALTER TABLE .. DETACH PARTITION CONCURRENTLY · 8a22a40b
    Michael Paquier authored
    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 71f4c8c6.
    
    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
    8a22a40b
tablecmds.c 576 KB