OSDN Git Service

Adjust the alternative expected output file for prepared_xacts test case,
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Tue, 21 Jun 2011 14:07:10 +0000 (17:07 +0300)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Tue, 21 Jun 2011 14:07:10 +0000 (17:07 +0300)
used when max_prepared_transactions=0, for the recent changes in the test
case.

src/test/regress/expected/prepared_xacts_1.out

index 5051eaa..acd9046 100644 (file)
@@ -92,13 +92,6 @@ SELECT gid FROM pg_prepared_xacts;
 
 BEGIN TRANSACTION ISOLATION LEVEL SERIALIZABLE;
 INSERT INTO pxtest1 VALUES ('fff');
-SELECT * FROM pxtest1;
- foobar 
---------
- aaa
- fff
-(2 rows)
-
 -- This should fail, because the gid foo3 is already in use
 PREPARE TRANSACTION 'foo3';
 ERROR:  prepared transactions are disabled
@@ -117,6 +110,47 @@ SELECT * FROM pxtest1;
  aaa
 (1 row)
 
+-- Test serialization failure (SSI)
+BEGIN TRANSACTION ISOLATION LEVEL SERIALIZABLE;
+UPDATE pxtest1 SET foobar = 'eee' WHERE foobar = 'ddd';
+SELECT * FROM pxtest1;
+ foobar 
+--------
+ aaa
+(1 row)
+
+PREPARE TRANSACTION 'foo4';
+ERROR:  prepared transactions are disabled
+HINT:  Set max_prepared_transactions to a nonzero value.
+SELECT gid FROM pg_prepared_xacts;
+ gid 
+-----
+(0 rows)
+
+BEGIN TRANSACTION ISOLATION LEVEL SERIALIZABLE;
+SELECT * FROM pxtest1;
+ foobar 
+--------
+ aaa
+(1 row)
+
+INSERT INTO pxtest1 VALUES ('fff');
+-- This should fail, because the two transactions have a write-skew anomaly
+PREPARE TRANSACTION 'foo5';
+ERROR:  prepared transactions are disabled
+HINT:  Set max_prepared_transactions to a nonzero value.
+SELECT gid FROM pg_prepared_xacts;
+ gid 
+-----
+(0 rows)
+
+ROLLBACK PREPARED 'foo4';
+ERROR:  prepared transaction with identifier "foo4" does not exist
+SELECT gid FROM pg_prepared_xacts;
+ gid 
+-----
+(0 rows)
+
 -- Clean up
 DROP TABLE pxtest1;
 -- Test subtransactions