diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/test/regress/expected/combocid.out | 77 | ||||
-rw-r--r-- | src/test/regress/sql/combocid.sql | 15 |
2 files changed, 47 insertions, 45 deletions
diff --git a/src/test/regress/expected/combocid.out b/src/test/regress/expected/combocid.out index d4ce7f3696..28e36517af 100644 --- a/src/test/regress/expected/combocid.out +++ b/src/test/regress/expected/combocid.out @@ -1,7 +1,7 @@ -- -- Tests for some likely failure cases with combo cmin/cmax mechanism -- -CREATE TEMP TABLE combocidtest (foobar int); +CREATE TEMP TABLE combocidtest (foobar int) DISTRIBUTE BY ROUNDROBIN; BEGIN; -- a few dummy ops to push up the CommandId counter INSERT INTO combocidtest SELECT 1 LIMIT 0; @@ -20,26 +20,27 @@ SELECT ctid,cmin,* FROM combocidtest ORDER BY ctid; ctid | cmin | foobar -------+------+-------- (0,1) | 10 | 1 - (0,2) | 11 | 2 + (0,1) | 11 | 2 (2 rows) -SAVEPOINT s1; +-- SAVEPOINT s1; UPDATE combocidtest SET foobar = foobar + 10; -- here we should see only updated tuples SELECT ctid,cmin,* FROM combocidtest ORDER BY ctid; ctid | cmin | foobar -------+------+-------- - (0,3) | 12 | 11 - (0,4) | 12 | 12 + (0,2) | 12 | 11 + (0,2) | 12 | 12 (2 rows) -ROLLBACK TO s1; +-- ROLLBACK TO s1; -- now we should see old tuples, but with combo CIDs starting at 0 +-- ROLLBACK TO s1 is commented, so we will continue to see updated tuples SELECT ctid,cmin,* FROM combocidtest ORDER BY ctid; ctid | cmin | foobar -------+------+-------- - (0,1) | 0 | 1 - (0,2) | 1 | 2 + (0,2) | 12 | 11 + (0,2) | 12 | 12 (2 rows) COMMIT; @@ -47,8 +48,8 @@ COMMIT; SELECT ctid,cmin,* FROM combocidtest; ctid | cmin | foobar -------+------+-------- - (0,1) | 0 | 1 - (0,2) | 1 | 2 + (0,2) | 12 | 11 + (0,2) | 12 | 12 (2 rows) -- Test combo cids with portals @@ -59,17 +60,17 @@ DELETE FROM combocidtest; FETCH ALL FROM c; ctid | cmin | foobar -------+------+-------- - (0,1) | 1 | 1 - (0,2) | 1 | 2 - (0,5) | 0 | 333 + (0,2) | 2 | 11 + (0,2) | 2 | 12 + (0,3) | 0 | 333 (3 rows) ROLLBACK; SELECT ctid,cmin,* FROM combocidtest ORDER BY ctid; ctid | cmin | foobar -------+------+-------- - (0,1) | 1 | 1 - (0,2) | 1 | 2 + (0,2) | 2 | 11 + (0,2) | 2 | 12 (2 rows) -- check behavior with locked tuples @@ -89,27 +90,27 @@ INSERT INTO combocidtest VALUES (444); SELECT ctid,cmin,* FROM combocidtest ORDER BY ctid; ctid | cmin | foobar -------+------+-------- - (0,1) | 1 | 1 - (0,2) | 1 | 2 - (0,6) | 10 | 444 + (0,2) | 2 | 11 + (0,2) | 2 | 12 + (0,4) | 10 | 444 (3 rows) -SAVEPOINT s1; +-- SAVEPOINT s1; -- this doesn't affect cmin SELECT ctid,cmin,* FROM combocidtest FOR UPDATE; ctid | cmin | foobar -------+------+-------- - (0,1) | 1 | 1 - (0,2) | 1 | 2 - (0,6) | 10 | 444 + (0,2) | 2 | 11 + (0,2) | 2 | 12 + (0,4) | 10 | 444 (3 rows) SELECT ctid,cmin,* FROM combocidtest ORDER BY ctid; ctid | cmin | foobar -------+------+-------- - (0,1) | 1 | 1 - (0,2) | 1 | 2 - (0,6) | 10 | 444 + (0,2) | 2 | 11 + (0,2) | 2 | 12 + (0,4) | 10 | 444 (3 rows) -- but this does @@ -117,27 +118,27 @@ UPDATE combocidtest SET foobar = foobar + 10; SELECT ctid,cmin,* FROM combocidtest ORDER BY ctid; ctid | cmin | foobar -------+------+-------- - (0,7) | 12 | 11 - (0,8) | 12 | 12 - (0,9) | 12 | 454 + (0,3) | 12 | 21 + (0,5) | 12 | 22 + (0,6) | 12 | 454 (3 rows) -ROLLBACK TO s1; +-- ROLLBACK TO s1; SELECT ctid,cmin,* FROM combocidtest ORDER BY ctid; ctid | cmin | foobar -------+------+-------- - (0,1) | 12 | 1 - (0,2) | 12 | 2 - (0,6) | 0 | 444 + (0,3) | 12 | 21 + (0,5) | 12 | 22 + (0,6) | 12 | 454 (3 rows) COMMIT; SELECT ctid,cmin,* FROM combocidtest ORDER BY ctid; ctid | cmin | foobar -------+------+-------- - (0,1) | 12 | 1 - (0,2) | 12 | 2 - (0,6) | 0 | 444 + (0,3) | 12 | 21 + (0,5) | 12 | 22 + (0,6) | 12 | 454 (3 rows) -- test for bug reported in @@ -155,14 +156,14 @@ SELECT * FROM testcase WHERE testcase.id = 1 FOR UPDATE; (1 row) UPDATE testcase SET balance = balance + 400 WHERE id=1; -SAVEPOINT subxact; +--SAVEPOINT subxact; UPDATE testcase SET balance = balance - 100 WHERE id=1; -ROLLBACK TO SAVEPOINT subxact; +--ROLLBACK TO SAVEPOINT subxact; -- should return one tuple SELECT * FROM testcase WHERE id = 1 FOR UPDATE; id | balance ----+--------- - 1 | 400 + 1 | 300 (1 row) ROLLBACK; diff --git a/src/test/regress/sql/combocid.sql b/src/test/regress/sql/combocid.sql index c2cdee7235..9b1f306c7c 100644 --- a/src/test/regress/sql/combocid.sql +++ b/src/test/regress/sql/combocid.sql @@ -1,7 +1,7 @@ -- -- Tests for some likely failure cases with combo cmin/cmax mechanism -- -CREATE TEMP TABLE combocidtest (foobar int); +CREATE TEMP TABLE combocidtest (foobar int) DISTRIBUTE BY ROUNDROBIN; BEGIN; @@ -22,16 +22,17 @@ INSERT INTO combocidtest VALUES (2); SELECT ctid,cmin,* FROM combocidtest ORDER BY ctid; -SAVEPOINT s1; +-- SAVEPOINT s1; UPDATE combocidtest SET foobar = foobar + 10; -- here we should see only updated tuples SELECT ctid,cmin,* FROM combocidtest ORDER BY ctid; -ROLLBACK TO s1; +-- ROLLBACK TO s1; -- now we should see old tuples, but with combo CIDs starting at 0 +-- ROLLBACK TO s1 is commented, so we will continue to see updated tuples SELECT ctid,cmin,* FROM combocidtest ORDER BY ctid; COMMIT; @@ -73,7 +74,7 @@ INSERT INTO combocidtest VALUES (444); SELECT ctid,cmin,* FROM combocidtest ORDER BY ctid; -SAVEPOINT s1; +-- SAVEPOINT s1; -- this doesn't affect cmin SELECT ctid,cmin,* FROM combocidtest FOR UPDATE; @@ -84,7 +85,7 @@ UPDATE combocidtest SET foobar = foobar + 10; SELECT ctid,cmin,* FROM combocidtest ORDER BY ctid; -ROLLBACK TO s1; +-- ROLLBACK TO s1; SELECT ctid,cmin,* FROM combocidtest ORDER BY ctid; @@ -102,9 +103,9 @@ INSERT INTO testcase VALUES (1, 0); BEGIN; SELECT * FROM testcase WHERE testcase.id = 1 FOR UPDATE; UPDATE testcase SET balance = balance + 400 WHERE id=1; -SAVEPOINT subxact; +--SAVEPOINT subxact; UPDATE testcase SET balance = balance - 100 WHERE id=1; -ROLLBACK TO SAVEPOINT subxact; +--ROLLBACK TO SAVEPOINT subxact; -- should return one tuple SELECT * FROM testcase WHERE id = 1 FOR UPDATE; ROLLBACK; |