| Parsed test spec with 3 sessions |
| |
| starting permutation: ra1 ro2 wo1 c1 wa2 c2 |
| step ra1: select * from gin_tbl where p @> array[1] limit 1; |
| p |
| --- |
| {1} |
| (1 row) |
| |
| step ro2: select count(*) from other_tbl; |
| count |
| ----- |
| 0 |
| (1 row) |
| |
| step wo1: insert into other_tbl values (1); |
| step c1: commit; |
| step wa2: insert into gin_tbl values (array[1]); |
| ERROR: could not serialize access due to read/write dependencies among transactions |
| step c2: commit; |
| |
| starting permutation: ro2 ra1 wo1 c1 wa2 c2 |
| step ro2: select count(*) from other_tbl; |
| count |
| ----- |
| 0 |
| (1 row) |
| |
| step ra1: select * from gin_tbl where p @> array[1] limit 1; |
| p |
| --- |
| {1} |
| (1 row) |
| |
| step wo1: insert into other_tbl values (1); |
| step c1: commit; |
| step wa2: insert into gin_tbl values (array[1]); |
| ERROR: could not serialize access due to read/write dependencies among transactions |
| step c2: commit; |
| |
| starting permutation: ro2 ra1 wo1 wa2 c1 c2 |
| step ro2: select count(*) from other_tbl; |
| count |
| ----- |
| 0 |
| (1 row) |
| |
| step ra1: select * from gin_tbl where p @> array[1] limit 1; |
| p |
| --- |
| {1} |
| (1 row) |
| |
| step wo1: insert into other_tbl values (1); |
| step wa2: insert into gin_tbl values (array[1]); |
| step c1: commit; |
| step c2: commit; |
| ERROR: could not serialize access due to read/write dependencies among transactions |
| |
| starting permutation: ra1 ro2 wa2 wo1 c1 c2 |
| step ra1: select * from gin_tbl where p @> array[1] limit 1; |
| p |
| --- |
| {1} |
| (1 row) |
| |
| step ro2: select count(*) from other_tbl; |
| count |
| ----- |
| 0 |
| (1 row) |
| |
| step wa2: insert into gin_tbl values (array[1]); |
| step wo1: insert into other_tbl values (1); |
| step c1: commit; |
| step c2: commit; |
| ERROR: could not serialize access due to read/write dependencies among transactions |
| |
| starting permutation: rb1 ro2 wo1 c1 wb2 c2 |
| step rb1: select count(*) from gin_tbl where p @> array[2]; |
| count |
| ----- |
| 1 |
| (1 row) |
| |
| step ro2: select count(*) from other_tbl; |
| count |
| ----- |
| 0 |
| (1 row) |
| |
| step wo1: insert into other_tbl values (1); |
| step c1: commit; |
| step wb2: insert into gin_tbl values (array[2]); |
| ERROR: could not serialize access due to read/write dependencies among transactions |
| step c2: commit; |
| |
| starting permutation: ro2 rb1 wo1 c1 wb2 c2 |
| step ro2: select count(*) from other_tbl; |
| count |
| ----- |
| 0 |
| (1 row) |
| |
| step rb1: select count(*) from gin_tbl where p @> array[2]; |
| count |
| ----- |
| 1 |
| (1 row) |
| |
| step wo1: insert into other_tbl values (1); |
| step c1: commit; |
| step wb2: insert into gin_tbl values (array[2]); |
| ERROR: could not serialize access due to read/write dependencies among transactions |
| step c2: commit; |
| |
| starting permutation: ro2 rb1 wo1 wb2 c1 c2 |
| step ro2: select count(*) from other_tbl; |
| count |
| ----- |
| 0 |
| (1 row) |
| |
| step rb1: select count(*) from gin_tbl where p @> array[2]; |
| count |
| ----- |
| 1 |
| (1 row) |
| |
| step wo1: insert into other_tbl values (1); |
| step wb2: insert into gin_tbl values (array[2]); |
| step c1: commit; |
| step c2: commit; |
| ERROR: could not serialize access due to read/write dependencies among transactions |
| |
| starting permutation: rb1 ro2 wb2 wo1 c1 c2 |
| step rb1: select count(*) from gin_tbl where p @> array[2]; |
| count |
| ----- |
| 1 |
| (1 row) |
| |
| step ro2: select count(*) from other_tbl; |
| count |
| ----- |
| 0 |
| (1 row) |
| |
| step wb2: insert into gin_tbl values (array[2]); |
| step wo1: insert into other_tbl values (1); |
| step c1: commit; |
| step c2: commit; |
| ERROR: could not serialize access due to read/write dependencies among transactions |
| |
| starting permutation: rc1 ro2 wo1 c1 wc2 c2 |
| step rc1: select count(*) from gin_tbl where p @> array[800]; |
| count |
| ----- |
| 1 |
| (1 row) |
| |
| step ro2: select count(*) from other_tbl; |
| count |
| ----- |
| 0 |
| (1 row) |
| |
| step wo1: insert into other_tbl values (1); |
| step c1: commit; |
| step wc2: insert into gin_tbl values (array[800]); |
| ERROR: could not serialize access due to read/write dependencies among transactions |
| step c2: commit; |
| |
| starting permutation: ro2 rc1 wo1 c1 wc2 c2 |
| step ro2: select count(*) from other_tbl; |
| count |
| ----- |
| 0 |
| (1 row) |
| |
| step rc1: select count(*) from gin_tbl where p @> array[800]; |
| count |
| ----- |
| 1 |
| (1 row) |
| |
| step wo1: insert into other_tbl values (1); |
| step c1: commit; |
| step wc2: insert into gin_tbl values (array[800]); |
| ERROR: could not serialize access due to read/write dependencies among transactions |
| step c2: commit; |
| |
| starting permutation: ro2 rc1 wo1 wc2 c1 c2 |
| step ro2: select count(*) from other_tbl; |
| count |
| ----- |
| 0 |
| (1 row) |
| |
| step rc1: select count(*) from gin_tbl where p @> array[800]; |
| count |
| ----- |
| 1 |
| (1 row) |
| |
| step wo1: insert into other_tbl values (1); |
| step wc2: insert into gin_tbl values (array[800]); |
| step c1: commit; |
| step c2: commit; |
| ERROR: could not serialize access due to read/write dependencies among transactions |
| |
| starting permutation: rc1 ro2 wc2 wo1 c1 c2 |
| step rc1: select count(*) from gin_tbl where p @> array[800]; |
| count |
| ----- |
| 1 |
| (1 row) |
| |
| step ro2: select count(*) from other_tbl; |
| count |
| ----- |
| 0 |
| (1 row) |
| |
| step wc2: insert into gin_tbl values (array[800]); |
| step wo1: insert into other_tbl values (1); |
| step c1: commit; |
| step c2: commit; |
| ERROR: could not serialize access due to read/write dependencies among transactions |
| |
| starting permutation: ra1 ro2 wo1 c1 wb2 c2 |
| step ra1: select * from gin_tbl where p @> array[1] limit 1; |
| p |
| --- |
| {1} |
| (1 row) |
| |
| step ro2: select count(*) from other_tbl; |
| count |
| ----- |
| 0 |
| (1 row) |
| |
| step wo1: insert into other_tbl values (1); |
| step c1: commit; |
| step wb2: insert into gin_tbl values (array[2]); |
| step c2: commit; |
| |
| starting permutation: ro2 ra1 wo1 c1 wc2 c2 |
| step ro2: select count(*) from other_tbl; |
| count |
| ----- |
| 0 |
| (1 row) |
| |
| step ra1: select * from gin_tbl where p @> array[1] limit 1; |
| p |
| --- |
| {1} |
| (1 row) |
| |
| step wo1: insert into other_tbl values (1); |
| step c1: commit; |
| step wc2: insert into gin_tbl values (array[800]); |
| step c2: commit; |
| |
| starting permutation: ro2 rb1 wo1 wa2 c1 c2 |
| step ro2: select count(*) from other_tbl; |
| count |
| ----- |
| 0 |
| (1 row) |
| |
| step rb1: select count(*) from gin_tbl where p @> array[2]; |
| count |
| ----- |
| 1 |
| (1 row) |
| |
| step wo1: insert into other_tbl values (1); |
| step wa2: insert into gin_tbl values (array[1]); |
| step c1: commit; |
| step c2: commit; |
| |
| starting permutation: rc1 ro2 wa2 wo1 c1 c2 |
| step rc1: select count(*) from gin_tbl where p @> array[800]; |
| count |
| ----- |
| 1 |
| (1 row) |
| |
| step ro2: select count(*) from other_tbl; |
| count |
| ----- |
| 0 |
| (1 row) |
| |
| step wa2: insert into gin_tbl values (array[1]); |
| step wo1: insert into other_tbl values (1); |
| step c1: commit; |
| step c2: commit; |
| |
| starting permutation: rb1 ro2 wo1 c1 wa2 c2 |
| step rb1: select count(*) from gin_tbl where p @> array[2]; |
| count |
| ----- |
| 1 |
| (1 row) |
| |
| step ro2: select count(*) from other_tbl; |
| count |
| ----- |
| 0 |
| (1 row) |
| |
| step wo1: insert into other_tbl values (1); |
| step c1: commit; |
| step wa2: insert into gin_tbl values (array[1]); |
| step c2: commit; |
| |
| starting permutation: ro2 rb1 wo1 c1 wc2 c2 |
| step ro2: select count(*) from other_tbl; |
| count |
| ----- |
| 0 |
| (1 row) |
| |
| step rb1: select count(*) from gin_tbl where p @> array[2]; |
| count |
| ----- |
| 1 |
| (1 row) |
| |
| step wo1: insert into other_tbl values (1); |
| step c1: commit; |
| step wc2: insert into gin_tbl values (array[800]); |
| step c2: commit; |
| |
| starting permutation: ro2 ra1 wo1 wb2 c1 c2 |
| step ro2: select count(*) from other_tbl; |
| count |
| ----- |
| 0 |
| (1 row) |
| |
| step ra1: select * from gin_tbl where p @> array[1] limit 1; |
| p |
| --- |
| {1} |
| (1 row) |
| |
| step wo1: insert into other_tbl values (1); |
| step wb2: insert into gin_tbl values (array[2]); |
| step c1: commit; |
| step c2: commit; |
| |
| starting permutation: rc1 ro2 wb2 wo1 c1 c2 |
| step rc1: select count(*) from gin_tbl where p @> array[800]; |
| count |
| ----- |
| 1 |
| (1 row) |
| |
| step ro2: select count(*) from other_tbl; |
| count |
| ----- |
| 0 |
| (1 row) |
| |
| step wb2: insert into gin_tbl values (array[2]); |
| step wo1: insert into other_tbl values (1); |
| step c1: commit; |
| step c2: commit; |
| |
| starting permutation: rc1 ro2 wo1 c1 wa2 c2 |
| step rc1: select count(*) from gin_tbl where p @> array[800]; |
| count |
| ----- |
| 1 |
| (1 row) |
| |
| step ro2: select count(*) from other_tbl; |
| count |
| ----- |
| 0 |
| (1 row) |
| |
| step wo1: insert into other_tbl values (1); |
| step c1: commit; |
| step wa2: insert into gin_tbl values (array[1]); |
| step c2: commit; |
| |
| starting permutation: ro2 rc1 wo1 c1 wb2 c2 |
| step ro2: select count(*) from other_tbl; |
| count |
| ----- |
| 0 |
| (1 row) |
| |
| step rc1: select count(*) from gin_tbl where p @> array[800]; |
| count |
| ----- |
| 1 |
| (1 row) |
| |
| step wo1: insert into other_tbl values (1); |
| step c1: commit; |
| step wb2: insert into gin_tbl values (array[2]); |
| step c2: commit; |
| |
| starting permutation: ro2 ra1 wo1 wc2 c1 c2 |
| step ro2: select count(*) from other_tbl; |
| count |
| ----- |
| 0 |
| (1 row) |
| |
| step ra1: select * from gin_tbl where p @> array[1] limit 1; |
| p |
| --- |
| {1} |
| (1 row) |
| |
| step wo1: insert into other_tbl values (1); |
| step wc2: insert into gin_tbl values (array[800]); |
| step c1: commit; |
| step c2: commit; |
| |
| starting permutation: rb1 ro2 wc2 wo1 c1 c2 |
| step rb1: select count(*) from gin_tbl where p @> array[2]; |
| count |
| ----- |
| 1 |
| (1 row) |
| |
| step ro2: select count(*) from other_tbl; |
| count |
| ----- |
| 0 |
| (1 row) |
| |
| step wc2: insert into gin_tbl values (array[800]); |
| step wo1: insert into other_tbl values (1); |
| step c1: commit; |
| step c2: commit; |
| |
| starting permutation: fu ra1 ro2 wo1 c1 wa2 c2 |
| step fu: alter index ginidx set (fastupdate = on); |
| step ra1: select * from gin_tbl where p @> array[1] limit 1; |
| p |
| --- |
| {1} |
| (1 row) |
| |
| step ro2: select count(*) from other_tbl; |
| count |
| ----- |
| 0 |
| (1 row) |
| |
| step wo1: insert into other_tbl values (1); |
| step c1: commit; |
| step wa2: insert into gin_tbl values (array[1]); |
| ERROR: could not serialize access due to read/write dependencies among transactions |
| step c2: commit; |
| |
| starting permutation: fu ra1 ro2 wo1 c1 wb2 c2 |
| step fu: alter index ginidx set (fastupdate = on); |
| step ra1: select * from gin_tbl where p @> array[1] limit 1; |
| p |
| --- |
| {1} |
| (1 row) |
| |
| step ro2: select count(*) from other_tbl; |
| count |
| ----- |
| 0 |
| (1 row) |
| |
| step wo1: insert into other_tbl values (1); |
| step c1: commit; |
| step wb2: insert into gin_tbl values (array[2]); |
| ERROR: could not serialize access due to read/write dependencies among transactions |
| step c2: commit; |
| |
| starting permutation: ra1 ro2 wo1 c1 fu wa2 c2 |
| step ra1: select * from gin_tbl where p @> array[1] limit 1; |
| p |
| --- |
| {1} |
| (1 row) |
| |
| step ro2: select count(*) from other_tbl; |
| count |
| ----- |
| 0 |
| (1 row) |
| |
| step wo1: insert into other_tbl values (1); |
| step c1: commit; |
| step fu: alter index ginidx set (fastupdate = on); |
| step wa2: insert into gin_tbl values (array[1]); |
| ERROR: could not serialize access due to read/write dependencies among transactions |
| step c2: commit; |
| |
| starting permutation: rd1 ro2 wo1 c1 wd2 c2 |
| step rd1: select count(*) from gin_tbl where p @> array[2000]; |
| count |
| ----- |
| 0 |
| (1 row) |
| |
| step ro2: select count(*) from other_tbl; |
| count |
| ----- |
| 0 |
| (1 row) |
| |
| step wo1: insert into other_tbl values (1); |
| step c1: commit; |
| step wd2: insert into gin_tbl values (array[2000]); |
| ERROR: could not serialize access due to read/write dependencies among transactions |
| step c2: commit; |
| |
| starting permutation: ro2 rd1 wo1 c1 wd2 c2 |
| step ro2: select count(*) from other_tbl; |
| count |
| ----- |
| 0 |
| (1 row) |
| |
| step rd1: select count(*) from gin_tbl where p @> array[2000]; |
| count |
| ----- |
| 0 |
| (1 row) |
| |
| step wo1: insert into other_tbl values (1); |
| step c1: commit; |
| step wd2: insert into gin_tbl values (array[2000]); |
| ERROR: could not serialize access due to read/write dependencies among transactions |
| step c2: commit; |
| |
| starting permutation: ro2 rd1 wo1 wd2 c1 c2 |
| step ro2: select count(*) from other_tbl; |
| count |
| ----- |
| 0 |
| (1 row) |
| |
| step rd1: select count(*) from gin_tbl where p @> array[2000]; |
| count |
| ----- |
| 0 |
| (1 row) |
| |
| step wo1: insert into other_tbl values (1); |
| step wd2: insert into gin_tbl values (array[2000]); |
| step c1: commit; |
| step c2: commit; |
| ERROR: could not serialize access due to read/write dependencies among transactions |
| |
| starting permutation: rd1 ro2 wd2 wo1 c1 c2 |
| step rd1: select count(*) from gin_tbl where p @> array[2000]; |
| count |
| ----- |
| 0 |
| (1 row) |
| |
| step ro2: select count(*) from other_tbl; |
| count |
| ----- |
| 0 |
| (1 row) |
| |
| step wd2: insert into gin_tbl values (array[2000]); |
| step wo1: insert into other_tbl values (1); |
| step c1: commit; |
| step c2: commit; |
| ERROR: could not serialize access due to read/write dependencies among transactions |