mirror of https://github.com/postgres/postgres
Commit 2834855cb
added a not-very-carefully-thought-out isolation test
to check a BRIN index bug fix. The test depended on the availability
of the pageinspect contrib module, which meant it did not work in
several common testing scenarios such as "make check-world". It's not
clear whether we want a core test depending on a contrib module like
that, but in any case, failing to deal with the possibility that the
module isn't present in the installation-under-test is not acceptable.
Remove that test pending some better solution.
pull/7/head
parent
3f811c2d6f
commit
6a1e14c62b
@ -1,39 +0,0 @@ |
||||
Parsed test spec with 2 sessions |
||||
|
||||
starting permutation: s2check s1b s2b s1i s2summ s1c s2c s2check |
||||
step s2check: SELECT * FROM brin_page_items(get_raw_page('brinidx', 2), 'brinidx'::regclass); |
||||
itemoffset blknum attnum allnulls hasnulls placeholder value |
||||
|
||||
1 0 1 f f f {1 .. 1} |
||||
step s1b: BEGIN ISOLATION LEVEL REPEATABLE READ; |
||||
step s2b: BEGIN ISOLATION LEVEL REPEATABLE READ; SELECT 1; |
||||
?column? |
||||
|
||||
1 |
||||
step s1i: INSERT INTO brin_iso VALUES (1000); |
||||
step s2summ: SELECT brin_summarize_new_values('brinidx'::regclass); |
||||
brin_summarize_new_values |
||||
|
||||
1 |
||||
step s1c: COMMIT; |
||||
step s2c: COMMIT; |
||||
step s2check: SELECT * FROM brin_page_items(get_raw_page('brinidx', 2), 'brinidx'::regclass); |
||||
itemoffset blknum attnum allnulls hasnulls placeholder value |
||||
|
||||
1 0 1 f f f {1 .. 1} |
||||
2 1 1 f f f {1 .. 1000} |
||||
|
||||
starting permutation: s2check s1b s1i s2vacuum s1c s2check |
||||
step s2check: SELECT * FROM brin_page_items(get_raw_page('brinidx', 2), 'brinidx'::regclass); |
||||
itemoffset blknum attnum allnulls hasnulls placeholder value |
||||
|
||||
1 0 1 f f f {1 .. 1} |
||||
step s1b: BEGIN ISOLATION LEVEL REPEATABLE READ; |
||||
step s1i: INSERT INTO brin_iso VALUES (1000); |
||||
step s2vacuum: VACUUM brin_iso; |
||||
step s1c: COMMIT; |
||||
step s2check: SELECT * FROM brin_page_items(get_raw_page('brinidx', 2), 'brinidx'::regclass); |
||||
itemoffset blknum attnum allnulls hasnulls placeholder value |
||||
|
||||
1 0 1 f f f {1 .. 1} |
||||
2 1 1 f f f {1 .. 1000} |
@ -1,44 +0,0 @@ |
||||
# This test verifies that values inserted in transactions still in progress |
||||
# are considered during concurrent range summarization (either using the |
||||
# brin_summarize_new_values function or regular VACUUM). |
||||
|
||||
setup |
||||
{ |
||||
CREATE TABLE brin_iso ( |
||||
value int |
||||
) WITH (fillfactor=10); |
||||
CREATE INDEX brinidx ON brin_iso USING brin (value) WITH (pages_per_range=1); |
||||
-- this fills the first page |
||||
DO $$ |
||||
DECLARE curtid tid; |
||||
BEGIN |
||||
LOOP |
||||
INSERT INTO brin_iso VALUES (1) RETURNING ctid INTO curtid; |
||||
EXIT WHEN curtid > tid '(1, 0)'; |
||||
END LOOP; |
||||
END; |
||||
$$; |
||||
CREATE EXTENSION IF NOT EXISTS pageinspect; |
||||
} |
||||
|
||||
teardown |
||||
{ |
||||
DROP TABLE brin_iso; |
||||
} |
||||
|
||||
session "s1" |
||||
step "s1b" { BEGIN ISOLATION LEVEL REPEATABLE READ; } |
||||
step "s1i" { INSERT INTO brin_iso VALUES (1000); } |
||||
step "s1c" { COMMIT; } |
||||
|
||||
session "s2" |
||||
step "s2b" { BEGIN ISOLATION LEVEL REPEATABLE READ; SELECT 1; } |
||||
step "s2summ" { SELECT brin_summarize_new_values('brinidx'::regclass); } |
||||
step "s2c" { COMMIT; } |
||||
|
||||
step "s2vacuum" { VACUUM brin_iso; } |
||||
|
||||
step "s2check" { SELECT * FROM brin_page_items(get_raw_page('brinidx', 2), 'brinidx'::regclass); } |
||||
|
||||
permutation "s2check" "s1b" "s2b" "s1i" "s2summ" "s1c" "s2c" "s2check" |
||||
permutation "s2check" "s1b" "s1i" "s2vacuum" "s1c" "s2check" |
Loading…
Reference in new issue