diff options
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/regress/expected/alter_table.out | 28 | ||||
| -rw-r--r-- | src/test/regress/sql/alter_table.sql | 15 | 
2 files changed, 17 insertions, 26 deletions
| diff --git a/src/test/regress/expected/alter_table.out b/src/test/regress/expected/alter_table.out index a08f115b0e5..5e98bbf2425 100644 --- a/src/test/regress/expected/alter_table.out +++ b/src/test/regress/expected/alter_table.out @@ -4470,27 +4470,15 @@ ALTER TABLE range_parted2 DETACH PARTITION part_rp CONCURRENTLY;  Partition key: RANGE (a)  Number of partitions: 0 --- constraint should be created -\d part_rp -              Table "public.part_rp" - Column |  Type   | Collation | Nullable | Default  ---------+---------+-----------+----------+--------- - a      | integer |           |          |  -Check constraints: -    "part_rp_a_check" CHECK (a IS NOT NULL AND a >= 0 AND a < 100) - -CREATE TABLE part_rp100 PARTITION OF range_parted2 (CHECK (a>=123 AND a<133 AND a IS NOT NULL)) FOR VALUES FROM (100) to (200); -ALTER TABLE range_parted2 DETACH PARTITION part_rp100 CONCURRENTLY; --- redundant constraint should not be created -\d part_rp100 -             Table "public.part_rp100" - Column |  Type   | Collation | Nullable | Default  ---------+---------+-----------+----------+--------- - a      | integer |           |          |  -Check constraints: -    "part_rp100_a_check" CHECK (a >= 123 AND a < 133 AND a IS NOT NULL) -  DROP TABLE range_parted2; +-- Test that hash partitions continue to work after they're concurrently +-- detached (bugs #18371, #19070) +CREATE TABLE hash_parted2 (a int) PARTITION BY HASH(a); +CREATE TABLE part_hp PARTITION OF hash_parted2 FOR VALUES WITH (MODULUS 2, REMAINDER 0); +ALTER TABLE hash_parted2 DETACH PARTITION part_hp CONCURRENTLY; +DROP TABLE hash_parted2; +INSERT INTO part_hp VALUES (1); +DROP TABLE part_hp;  -- Check ALTER TABLE commands for partitioned tables and partitions  -- cannot add/drop column to/from *only* the parent  ALTER TABLE ONLY list_parted2 ADD COLUMN c int; diff --git a/src/test/regress/sql/alter_table.sql b/src/test/regress/sql/alter_table.sql index 90bf5c17682..417202430a5 100644 --- a/src/test/regress/sql/alter_table.sql +++ b/src/test/regress/sql/alter_table.sql @@ -2826,14 +2826,17 @@ DROP TABLE part_rpd;  -- works fine  ALTER TABLE range_parted2 DETACH PARTITION part_rp CONCURRENTLY;  \d+ range_parted2 --- constraint should be created -\d part_rp -CREATE TABLE part_rp100 PARTITION OF range_parted2 (CHECK (a>=123 AND a<133 AND a IS NOT NULL)) FOR VALUES FROM (100) to (200); -ALTER TABLE range_parted2 DETACH PARTITION part_rp100 CONCURRENTLY; --- redundant constraint should not be created -\d part_rp100  DROP TABLE range_parted2; +-- Test that hash partitions continue to work after they're concurrently +-- detached (bugs #18371, #19070) +CREATE TABLE hash_parted2 (a int) PARTITION BY HASH(a); +CREATE TABLE part_hp PARTITION OF hash_parted2 FOR VALUES WITH (MODULUS 2, REMAINDER 0); +ALTER TABLE hash_parted2 DETACH PARTITION part_hp CONCURRENTLY; +DROP TABLE hash_parted2; +INSERT INTO part_hp VALUES (1); +DROP TABLE part_hp; +  -- Check ALTER TABLE commands for partitioned tables and partitions  -- cannot add/drop column to/from *only* the parent | 
