mirror of
https://github.com/postgres/postgres.git
synced 2025-11-03 09:13:20 +03:00
Propagate ALTER TABLE ... SET STORAGE to indexes
When creating a new index, the attstorage setting of the table column is copied to regular (non-expression) index columns. But a later ALTER TABLE ... SET STORAGE is not propagated to indexes, thus creating an inconsistent and undumpable state. Discussion: https://www.postgresql.org/message-id/flat/9765d72b-37c0-06f5-e349-2a580aafd989%402ndquadrant.com
This commit is contained in:
@@ -1472,6 +1472,12 @@ select reltoastrelid <> 0 as has_toast_table
|
||||
from pg_class
|
||||
where oid = 'test_storage'::regclass;
|
||||
|
||||
-- test that SET STORAGE propagates to index correctly
|
||||
create index test_storage_idx on test_storage (b, a);
|
||||
alter table test_storage alter column a set storage external;
|
||||
\d+ test_storage
|
||||
\d+ test_storage_idx
|
||||
|
||||
-- ALTER COLUMN TYPE with a check constraint and a child table (bug #13779)
|
||||
CREATE TABLE test_inh_check (a float check (a > 10.2), b float);
|
||||
CREATE TABLE test_inh_check_child() INHERITS(test_inh_check);
|
||||
|
||||
Reference in New Issue
Block a user