]> granicus.if.org Git - postgresql/commitdiff
Allow drop-index-concurrently-1 test to run at any isolation level.
authorKevin Grittner <kgrittn@postgresql.org>
Tue, 8 Oct 2013 21:55:12 +0000 (16:55 -0500)
committerKevin Grittner <kgrittn@postgresql.org>
Tue, 8 Oct 2013 21:55:12 +0000 (16:55 -0500)
It previously reported failure at REPEATABLE READ and SERIALIZABLE
transaction isolation levels for make installcheck.

src/test/isolation/expected/drop-index-concurrently-1.out
src/test/isolation/expected/drop-index-concurrently-1_2.out [new file with mode: 0644]
src/test/isolation/specs/drop-index-concurrently-1.spec

index 8bedf13d338e0b68f3743c10a9ce4799c661d555..75dff56bc46d40aa8eb012543044b7c10d516b7e 100644 (file)
@@ -1,7 +1,11 @@
 Parsed test spec with 3 sessions
 
-starting permutation: noseq prepi preps begin explaini explains select2 drop insert2 end2 selecti selects end
+starting permutation: noseq chkiso prepi preps begin explaini explains select2 drop insert2 end2 selecti selects end
 step noseq: SET enable_seqscan = false;
+step chkiso: SELECT (setting in ('read committed','read uncommitted')) AS is_read_committed FROM pg_settings WHERE name = 'default_transaction_isolation';
+is_read_committed
+
+t              
 step prepi: PREPARE getrow_idx AS SELECT * FROM test_dc WHERE data=34 ORDER BY id,data;
 step preps: PREPARE getrow_seq AS SELECT * FROM test_dc WHERE data::text=34::text ORDER BY id,data;
 step begin: BEGIN;
diff --git a/src/test/isolation/expected/drop-index-concurrently-1_2.out b/src/test/isolation/expected/drop-index-concurrently-1_2.out
new file mode 100644 (file)
index 0000000..e540bbe
--- /dev/null
@@ -0,0 +1,42 @@
+Parsed test spec with 3 sessions
+
+starting permutation: noseq chkiso prepi preps begin explaini explains select2 drop insert2 end2 selecti selects end
+step noseq: SET enable_seqscan = false;
+step chkiso: SELECT (setting in ('read committed','read uncommitted')) AS is_read_committed FROM pg_settings WHERE name = 'default_transaction_isolation';
+is_read_committed
+
+f              
+step prepi: PREPARE getrow_idx AS SELECT * FROM test_dc WHERE data=34 ORDER BY id,data;
+step preps: PREPARE getrow_seq AS SELECT * FROM test_dc WHERE data::text=34::text ORDER BY id,data;
+step begin: BEGIN;
+step explaini: EXPLAIN (COSTS OFF) EXECUTE getrow_idx;
+QUERY PLAN     
+
+Sort           
+  Sort Key: id 
+  ->  Index Scan using test_dc_data on test_dc
+        Index Cond: (data = 34)
+step explains: EXPLAIN (COSTS OFF) EXECUTE getrow_seq;
+QUERY PLAN     
+
+Sort           
+  Sort Key: id, data
+  ->  Seq Scan on test_dc
+        Filter: ((data)::text = '34'::text)
+step select2: SELECT * FROM test_dc WHERE data=34 ORDER BY id,data;
+id             data           
+
+34             34             
+step drop: DROP INDEX CONCURRENTLY test_dc_data; <waiting ...>
+step insert2: INSERT INTO test_dc(data) SELECT * FROM generate_series(1, 100);
+step end2: COMMIT;
+step selecti: EXECUTE getrow_idx;
+id             data           
+
+34             34             
+step selects: EXECUTE getrow_seq;
+id             data           
+
+34             34             
+step end: COMMIT;
+step drop: <... completed>
index 8ebe5e6f0d90c801ae6326d602c6ad13142ff417..dd42b70ddf3fea72480f1f613a38072b186ecaab 100644 (file)
@@ -1,7 +1,9 @@
 # DROP INDEX CONCURRENTLY
 #
 # This test shows that the concurrent write behaviour works correctly
-# with the expected output being 2 rows.
+# with the expected output being 2 rows at the READ COMMITTED and READ
+# UNCOMMITTED transaction isolation levels, and 1 row at the other
+# transaction isolation levels.
 #
 setup
 {
@@ -17,6 +19,7 @@ teardown
 
 session "s1"
 step "noseq" { SET enable_seqscan = false; }
+step "chkiso" { SELECT (setting in ('read committed','read uncommitted')) AS is_read_committed FROM pg_settings WHERE name = 'default_transaction_isolation'; }
 step "prepi" { PREPARE getrow_idx AS SELECT * FROM test_dc WHERE data=34 ORDER BY id,data; }
 step "preps" { PREPARE getrow_seq AS SELECT * FROM test_dc WHERE data::text=34::text ORDER BY id,data; }
 step "begin" { BEGIN; }
@@ -35,4 +38,4 @@ step "end2" { COMMIT; }
 session "s3"
 step "drop" { DROP INDEX CONCURRENTLY test_dc_data; }
 
-permutation "noseq" "prepi" "preps" "begin" "explaini" "explains" "select2" "drop" "insert2" "end2" "selecti" "selects" "end"
+permutation "noseq" "chkiso" "prepi" "preps" "begin" "explaini" "explains" "select2" "drop" "insert2" "end2" "selecti" "selects" "end"