Skip to content

Commit

Permalink
Tests for serialization failures and false positives
Browse files Browse the repository at this point in the history
  • Loading branch information
shubhambaraiss committed Jun 14, 2017
1 parent 0a76b02 commit 2c02685
Show file tree
Hide file tree
Showing 4 changed files with 746 additions and 0 deletions.
339 changes: 339 additions & 0 deletions src/test/isolation/expected/predicate_gist.out
Original file line number Diff line number Diff line change
@@ -0,0 +1,339 @@
Parsed test spec with 2 sessions

starting permutation: rxy1 wx1 c1 rxy2 wy2 c2
step rxy1: SELECT SUM(p[0]) FROM gist_point_tbl WHERE p << point(250, 250);
sum

3000
step wx1: insert into gist_point_tbl (id, p)
select g, point(g*50, g*50) from generate_series(15, 20) g;
step c1: COMMIT;
step rxy2: SELECT SUM(p[0]) FROM gist_point_tbl WHERE p >> point(750,750);
sum

26500
step wy2: insert into gist_point_tbl (id, p)
select g, point(g*50, g*50) from generate_series(1, 5) g;
step c2: COMMIT;

starting permutation: rxy1 wx1 rxy2 c1 wy2 c2
step rxy1: SELECT SUM(p[0]) FROM gist_point_tbl WHERE p << point(250, 250);
sum

3000
step wx1: insert into gist_point_tbl (id, p)
select g, point(g*50, g*50) from generate_series(15, 20) g;
step rxy2: SELECT SUM(p[0]) FROM gist_point_tbl WHERE p >> point(750,750);
sum

22000
step c1: COMMIT;
step wy2: insert into gist_point_tbl (id, p)
select g, point(g*50, g*50) from generate_series(1, 5) g;
ERROR: could not serialize access due to read/write dependencies among transactions
step c2: COMMIT;

starting permutation: rxy1 wx1 rxy2 wy2 c1 c2
step rxy1: SELECT SUM(p[0]) FROM gist_point_tbl WHERE p << point(250, 250);
sum

3000
step wx1: insert into gist_point_tbl (id, p)
select g, point(g*50, g*50) from generate_series(15, 20) g;
step rxy2: SELECT SUM(p[0]) FROM gist_point_tbl WHERE p >> point(750,750);
sum

22000
step wy2: insert into gist_point_tbl (id, p)
select g, point(g*50, g*50) from generate_series(1, 5) g;
step c1: COMMIT;
step c2: COMMIT;
ERROR: could not serialize access due to read/write dependencies among transactions

starting permutation: rxy1 wx1 rxy2 wy2 c2 c1
step rxy1: SELECT SUM(p[0]) FROM gist_point_tbl WHERE p << point(250, 250);
sum

3000
step wx1: insert into gist_point_tbl (id, p)
select g, point(g*50, g*50) from generate_series(15, 20) g;
step rxy2: SELECT SUM(p[0]) FROM gist_point_tbl WHERE p >> point(750,750);
sum

22000
step wy2: insert into gist_point_tbl (id, p)
select g, point(g*50, g*50) from generate_series(1, 5) g;
step c2: COMMIT;
step c1: COMMIT;
ERROR: could not serialize access due to read/write dependencies among transactions

starting permutation: rxy1 rxy2 wx1 c1 wy2 c2
step rxy1: SELECT SUM(p[0]) FROM gist_point_tbl WHERE p << point(250, 250);
sum

3000
step rxy2: SELECT SUM(p[0]) FROM gist_point_tbl WHERE p >> point(750,750);
sum

22000
step wx1: insert into gist_point_tbl (id, p)
select g, point(g*50, g*50) from generate_series(15, 20) g;
step c1: COMMIT;
step wy2: insert into gist_point_tbl (id, p)
select g, point(g*50, g*50) from generate_series(1, 5) g;
ERROR: could not serialize access due to read/write dependencies among transactions
step c2: COMMIT;

starting permutation: rxy1 rxy2 wx1 wy2 c1 c2
step rxy1: SELECT SUM(p[0]) FROM gist_point_tbl WHERE p << point(250, 250);
sum

3000
step rxy2: SELECT SUM(p[0]) FROM gist_point_tbl WHERE p >> point(750,750);
sum

22000
step wx1: insert into gist_point_tbl (id, p)
select g, point(g*50, g*50) from generate_series(15, 20) g;
step wy2: insert into gist_point_tbl (id, p)
select g, point(g*50, g*50) from generate_series(1, 5) g;
step c1: COMMIT;
step c2: COMMIT;
ERROR: could not serialize access due to read/write dependencies among transactions

starting permutation: rxy1 rxy2 wx1 wy2 c2 c1
step rxy1: SELECT SUM(p[0]) FROM gist_point_tbl WHERE p << point(250, 250);
sum

3000
step rxy2: SELECT SUM(p[0]) FROM gist_point_tbl WHERE p >> point(750,750);
sum

22000
step wx1: insert into gist_point_tbl (id, p)
select g, point(g*50, g*50) from generate_series(15, 20) g;
step wy2: insert into gist_point_tbl (id, p)
select g, point(g*50, g*50) from generate_series(1, 5) g;
step c2: COMMIT;
step c1: COMMIT;
ERROR: could not serialize access due to read/write dependencies among transactions

starting permutation: rxy1 rxy2 wy2 wx1 c1 c2
step rxy1: SELECT SUM(p[0]) FROM gist_point_tbl WHERE p << point(250, 250);
sum

3000
step rxy2: SELECT SUM(p[0]) FROM gist_point_tbl WHERE p >> point(750,750);
sum

22000
step wy2: insert into gist_point_tbl (id, p)
select g, point(g*50, g*50) from generate_series(1, 5) g;
step wx1: insert into gist_point_tbl (id, p)
select g, point(g*50, g*50) from generate_series(15, 20) g;
step c1: COMMIT;
step c2: COMMIT;
ERROR: could not serialize access due to read/write dependencies among transactions

starting permutation: rxy1 rxy2 wy2 wx1 c2 c1
step rxy1: SELECT SUM(p[0]) FROM gist_point_tbl WHERE p << point(250, 250);
sum

3000
step rxy2: SELECT SUM(p[0]) FROM gist_point_tbl WHERE p >> point(750,750);
sum

22000
step wy2: insert into gist_point_tbl (id, p)
select g, point(g*50, g*50) from generate_series(1, 5) g;
step wx1: insert into gist_point_tbl (id, p)
select g, point(g*50, g*50) from generate_series(15, 20) g;
step c2: COMMIT;
step c1: COMMIT;
ERROR: could not serialize access due to read/write dependencies among transactions

starting permutation: rxy1 rxy2 wy2 c2 wx1 c1
step rxy1: SELECT SUM(p[0]) FROM gist_point_tbl WHERE p << point(250, 250);
sum

3000
step rxy2: SELECT SUM(p[0]) FROM gist_point_tbl WHERE p >> point(750,750);
sum

22000
step wy2: insert into gist_point_tbl (id, p)
select g, point(g*50, g*50) from generate_series(1, 5) g;
step c2: COMMIT;
step wx1: insert into gist_point_tbl (id, p)
select g, point(g*50, g*50) from generate_series(15, 20) g;
ERROR: could not serialize access due to read/write dependencies among transactions
step c1: COMMIT;

starting permutation: rxy2 rxy1 wx1 c1 wy2 c2
step rxy2: SELECT SUM(p[0]) FROM gist_point_tbl WHERE p >> point(750,750);
sum

22000
step rxy1: SELECT SUM(p[0]) FROM gist_point_tbl WHERE p << point(250, 250);
sum

3000
step wx1: insert into gist_point_tbl (id, p)
select g, point(g*50, g*50) from generate_series(15, 20) g;
step c1: COMMIT;
step wy2: insert into gist_point_tbl (id, p)
select g, point(g*50, g*50) from generate_series(1, 5) g;
ERROR: could not serialize access due to read/write dependencies among transactions
step c2: COMMIT;

starting permutation: rxy2 rxy1 wx1 wy2 c1 c2
step rxy2: SELECT SUM(p[0]) FROM gist_point_tbl WHERE p >> point(750,750);
sum

22000
step rxy1: SELECT SUM(p[0]) FROM gist_point_tbl WHERE p << point(250, 250);
sum

3000
step wx1: insert into gist_point_tbl (id, p)
select g, point(g*50, g*50) from generate_series(15, 20) g;
step wy2: insert into gist_point_tbl (id, p)
select g, point(g*50, g*50) from generate_series(1, 5) g;
step c1: COMMIT;
step c2: COMMIT;
ERROR: could not serialize access due to read/write dependencies among transactions

starting permutation: rxy2 rxy1 wx1 wy2 c2 c1
step rxy2: SELECT SUM(p[0]) FROM gist_point_tbl WHERE p >> point(750,750);
sum

22000
step rxy1: SELECT SUM(p[0]) FROM gist_point_tbl WHERE p << point(250, 250);
sum

3000
step wx1: insert into gist_point_tbl (id, p)
select g, point(g*50, g*50) from generate_series(15, 20) g;
step wy2: insert into gist_point_tbl (id, p)
select g, point(g*50, g*50) from generate_series(1, 5) g;
step c2: COMMIT;
step c1: COMMIT;
ERROR: could not serialize access due to read/write dependencies among transactions

starting permutation: rxy2 rxy1 wy2 wx1 c1 c2
step rxy2: SELECT SUM(p[0]) FROM gist_point_tbl WHERE p >> point(750,750);
sum

22000
step rxy1: SELECT SUM(p[0]) FROM gist_point_tbl WHERE p << point(250, 250);
sum

3000
step wy2: insert into gist_point_tbl (id, p)
select g, point(g*50, g*50) from generate_series(1, 5) g;
step wx1: insert into gist_point_tbl (id, p)
select g, point(g*50, g*50) from generate_series(15, 20) g;
step c1: COMMIT;
step c2: COMMIT;
ERROR: could not serialize access due to read/write dependencies among transactions

starting permutation: rxy2 rxy1 wy2 wx1 c2 c1
step rxy2: SELECT SUM(p[0]) FROM gist_point_tbl WHERE p >> point(750,750);
sum

22000
step rxy1: SELECT SUM(p[0]) FROM gist_point_tbl WHERE p << point(250, 250);
sum

3000
step wy2: insert into gist_point_tbl (id, p)
select g, point(g*50, g*50) from generate_series(1, 5) g;
step wx1: insert into gist_point_tbl (id, p)
select g, point(g*50, g*50) from generate_series(15, 20) g;
step c2: COMMIT;
step c1: COMMIT;
ERROR: could not serialize access due to read/write dependencies among transactions

starting permutation: rxy2 rxy1 wy2 c2 wx1 c1
step rxy2: SELECT SUM(p[0]) FROM gist_point_tbl WHERE p >> point(750,750);
sum

22000
step rxy1: SELECT SUM(p[0]) FROM gist_point_tbl WHERE p << point(250, 250);
sum

3000
step wy2: insert into gist_point_tbl (id, p)
select g, point(g*50, g*50) from generate_series(1, 5) g;
step c2: COMMIT;
step wx1: insert into gist_point_tbl (id, p)
select g, point(g*50, g*50) from generate_series(15, 20) g;
ERROR: could not serialize access due to read/write dependencies among transactions
step c1: COMMIT;

starting permutation: rxy2 wy2 rxy1 wx1 c1 c2
step rxy2: SELECT SUM(p[0]) FROM gist_point_tbl WHERE p >> point(750,750);
sum

22000
step wy2: insert into gist_point_tbl (id, p)
select g, point(g*50, g*50) from generate_series(1, 5) g;
step rxy1: SELECT SUM(p[0]) FROM gist_point_tbl WHERE p << point(250, 250);
sum

3000
step wx1: insert into gist_point_tbl (id, p)
select g, point(g*50, g*50) from generate_series(15, 20) g;
step c1: COMMIT;
step c2: COMMIT;
ERROR: could not serialize access due to read/write dependencies among transactions

starting permutation: rxy2 wy2 rxy1 wx1 c2 c1
step rxy2: SELECT SUM(p[0]) FROM gist_point_tbl WHERE p >> point(750,750);
sum

22000
step wy2: insert into gist_point_tbl (id, p)
select g, point(g*50, g*50) from generate_series(1, 5) g;
step rxy1: SELECT SUM(p[0]) FROM gist_point_tbl WHERE p << point(250, 250);
sum

3000
step wx1: insert into gist_point_tbl (id, p)
select g, point(g*50, g*50) from generate_series(15, 20) g;
step c2: COMMIT;
step c1: COMMIT;
ERROR: could not serialize access due to read/write dependencies among transactions

starting permutation: rxy2 wy2 rxy1 c2 wx1 c1
step rxy2: SELECT SUM(p[0]) FROM gist_point_tbl WHERE p >> point(750,750);
sum

22000
step wy2: insert into gist_point_tbl (id, p)
select g, point(g*50, g*50) from generate_series(1, 5) g;
step rxy1: SELECT SUM(p[0]) FROM gist_point_tbl WHERE p << point(250, 250);
sum

3000
step c2: COMMIT;
step wx1: insert into gist_point_tbl (id, p)
select g, point(g*50, g*50) from generate_series(15, 20) g;
ERROR: could not serialize access due to read/write dependencies among transactions
step c1: COMMIT;

starting permutation: rxy2 wy2 c2 rxy1 wx1 c1
step rxy2: SELECT SUM(p[0]) FROM gist_point_tbl WHERE p >> point(750,750);
sum

22000
step wy2: insert into gist_point_tbl (id, p)
select g, point(g*50, g*50) from generate_series(1, 5) g;
step c2: COMMIT;
step rxy1: SELECT SUM(p[0]) FROM gist_point_tbl WHERE p << point(250, 250);
sum

3500
step wx1: insert into gist_point_tbl (id, p)
select g, point(g*50, g*50) from generate_series(15, 20) g;
step c1: COMMIT;
Loading

0 comments on commit 2c02685

Please sign in to comment.