diff --git a/Makefile b/Makefile index 8d0d3ef4..54e9f5fa 100644 --- a/Makefile +++ b/Makefile @@ -66,6 +66,7 @@ REGRESS = \ load_offload_load \ yezzey_feat_1_8_7 \ yezzey-reorg \ + yezzey-reorg-vi \ yezzey-vac-relation \ yezzey-otm-feat \ yezzey-otm-deletion \ diff --git a/expected/yezzey-reorg-vi.out b/expected/yezzey-reorg-vi.out new file mode 100644 index 00000000..39fec7e9 --- /dev/null +++ b/expected/yezzey-reorg-vi.out @@ -0,0 +1,67 @@ +CREATE EXTENSION yezzey; +SET client_min_messages TO WARNING; +-- AO +CREATE TABLE vi_reorg_regaoty(i INT) WITH (appendonly=true); +INSERT INTO vi_reorg_regaoty SELECT * FROM generate_series(1, 100000); +SELECT * FROM yezzey_define_offload_policy('vi_reorg_regaoty'); + yezzey_define_offload_policy +------------------------------ + +(1 row) + +SELECT reltablespace FROM pg_class where oid = 'vi_reorg_regaoty'::regclass::oid; + reltablespace +--------------- + 8555 +(1 row) + +SELECT count() FROM yezzey_dump_virtual_index('vi_reorg_regaoty'); + count +------- + 3 +(1 row) + +INSERT INTO vi_reorg_regaoty SELECT * FROM generate_series(1, 100000); +SELECT count() FROM vi_reorg_regaoty; + count +-------- + 200000 +(1 row) + +SELECT count() FROM yezzey_dump_virtual_index('vi_reorg_regaoty'); + count +------- + 6 +(1 row) + +DELETE FROM vi_reorg_regaoty; +INSERT INTO vi_reorg_regaoty SELECT * FROM generate_series(1, 100000); +INSERT INTO vi_reorg_regaoty SELECT * FROM generate_series(1, 100000); +SELECT count(1) FROM vi_reorg_regaoty; + count +-------- + 200000 +(1 row) + +ALTER TABLE vi_reorg_regaoty SET WITH (REORGANIZE=true); +SELECT reltablespace FROM pg_class where oid = 'vi_reorg_regaoty'::regclass::oid; + reltablespace +--------------- + 8555 +(1 row) + +SELECT count(1) FROM vi_reorg_regaoty; + count +-------- + 200000 +(1 row) + +SELECT count() FROM yezzey_dump_virtual_index('vi_reorg_regaoty'); + count +------- + 3 +(1 row) + +DROP TABLE vi_reorg_regaoty; +DROP EXTENSION yezzey; +CHECKPOINT; diff --git a/sql/yezzey-reorg-vi.sql b/sql/yezzey-reorg-vi.sql new file mode 100644 index 00000000..bdd5a75c --- /dev/null +++ b/sql/yezzey-reorg-vi.sql @@ -0,0 +1,33 @@ +CREATE EXTENSION yezzey; +SET client_min_messages TO WARNING; + +-- AO + +CREATE TABLE vi_reorg_regaoty(i INT) WITH (appendonly=true); +INSERT INTO vi_reorg_regaoty SELECT * FROM generate_series(1, 100000); + +SELECT * FROM yezzey_define_offload_policy('vi_reorg_regaoty'); +SELECT reltablespace FROM pg_class where oid = 'vi_reorg_regaoty'::regclass::oid; + +SELECT count() FROM yezzey_dump_virtual_index('vi_reorg_regaoty'); + +INSERT INTO vi_reorg_regaoty SELECT * FROM generate_series(1, 100000); +SELECT count() FROM vi_reorg_regaoty; + +SELECT count() FROM yezzey_dump_virtual_index('vi_reorg_regaoty'); + +DELETE FROM vi_reorg_regaoty; +INSERT INTO vi_reorg_regaoty SELECT * FROM generate_series(1, 100000); +INSERT INTO vi_reorg_regaoty SELECT * FROM generate_series(1, 100000); +SELECT count(1) FROM vi_reorg_regaoty; + +ALTER TABLE vi_reorg_regaoty SET WITH (REORGANIZE=true); +SELECT reltablespace FROM pg_class where oid = 'vi_reorg_regaoty'::regclass::oid; +SELECT count(1) FROM vi_reorg_regaoty; + +SELECT count() FROM yezzey_dump_virtual_index('vi_reorg_regaoty'); + +DROP TABLE vi_reorg_regaoty; + +DROP EXTENSION yezzey; +CHECKPOINT;