# REINDEX with schemas # # Check that concurrent drop of relations while doing a REINDEX # SCHEMA allows the command to work. setup { CREATE SCHEMA reindex_schema; CREATE TABLE reindex_schema.tab_locked (a int PRIMARY KEY); CREATE TABLE reindex_schema.tab_dropped (a int PRIMARY KEY); } teardown { DROP SCHEMA reindex_schema CASCADE; } session s1 step begin1 { BEGIN; } step lock1 { LOCK reindex_schema.tab_locked IN SHARE UPDATE EXCLUSIVE MODE; } step end1 { COMMIT; } session s2 step reindex2 { REINDEX SCHEMA reindex_schema; } step reindex_conc2 { REINDEX SCHEMA CONCURRENTLY reindex_schema; } session s3 step drop3 { DROP TABLE reindex_schema.tab_dropped; } # The table can be dropped while reindex is waiting. permutation begin1 lock1 reindex2 drop3 end1 permutation begin1 lock1 reindex_conc2 drop3 end1