1# index-only scan test 2# 3# This test tries to expose problems with the interaction between index-only 4# scans and SSI. 5# 6# Any overlap between the transactions must cause a serialization failure. 7 8setup 9{ 10 CREATE TABLE tabx (id int NOT NULL); 11 INSERT INTO tabx SELECT generate_series(1,10000); 12 ALTER TABLE tabx ADD PRIMARY KEY (id); 13 CREATE TABLE taby (id int NOT NULL); 14 INSERT INTO taby SELECT generate_series(1,10000); 15 ALTER TABLE taby ADD PRIMARY KEY (id); 16} 17setup { VACUUM FREEZE ANALYZE tabx; } 18setup { VACUUM FREEZE ANALYZE taby; } 19 20teardown 21{ 22 DROP TABLE tabx; 23 DROP TABLE taby; 24} 25 26session s1 27setup 28{ 29 BEGIN ISOLATION LEVEL SERIALIZABLE; 30 SET LOCAL seq_page_cost = 0.1; 31 SET LOCAL random_page_cost = 0.1; 32 SET LOCAL cpu_tuple_cost = 0.03; 33} 34step rxwy1 { DELETE FROM taby WHERE id = (SELECT min(id) FROM tabx); } 35step c1 { COMMIT; } 36 37session s2 38setup 39{ 40 BEGIN ISOLATION LEVEL SERIALIZABLE; 41 SET LOCAL seq_page_cost = 0.1; 42 SET LOCAL random_page_cost = 0.1; 43 SET LOCAL cpu_tuple_cost = 0.03; 44} 45step rywx2 { DELETE FROM tabx WHERE id = (SELECT min(id) FROM taby); } 46step c2 { COMMIT; } 47