Commit 31a877f1 authored by Kevin Grittner's avatar Kevin Grittner

Allow drop-index-concurrently-1 test to run at any isolation level.

It previously reported failure at REPEATABLE READ and SERIALIZABLE
transaction isolation levels for make installcheck.
parent 66487750
Parsed test spec with 3 sessions 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 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 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 preps: PREPARE getrow_seq AS SELECT * FROM test_dc WHERE data::text=34::text ORDER BY id,data;
step begin: BEGIN; step begin: BEGIN;
......
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>
# DROP INDEX CONCURRENTLY # DROP INDEX CONCURRENTLY
# #
# This test shows that the concurrent write behaviour works correctly # 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 setup
{ {
...@@ -17,6 +19,7 @@ teardown ...@@ -17,6 +19,7 @@ teardown
session "s1" session "s1"
step "noseq" { SET enable_seqscan = false; } 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 "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 "preps" { PREPARE getrow_seq AS SELECT * FROM test_dc WHERE data::text=34::text ORDER BY id,data; }
step "begin" { BEGIN; } step "begin" { BEGIN; }
...@@ -35,4 +38,4 @@ step "end2" { COMMIT; } ...@@ -35,4 +38,4 @@ step "end2" { COMMIT; }
session "s3" session "s3"
step "drop" { DROP INDEX CONCURRENTLY test_dc_data; } 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"
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment