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