-C When\srolling\sback\sa\ssavepoint,\sreset\sthe\schangeCountDone\sflag.
-D 2010-07-07T17:53:52
+C Add\sfurther\stest\scases\sto\ssavepoint.test.
+D 2010-07-07T18:38:36
F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
F Makefile.in c4270a1cd7cd70a263b7e96a258aa90e9c3618eb
F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
F test/rowhash.test 0bc1d31415e4575d10cacf31e1a66b5cc0f8be81
F test/rowid.test e58e0acef38b527ed1b0b70d3ada588f804af287
F test/rtree.test fb372aff108d4371bd0b5e63e106947587ff4310
-F test/savepoint.test 7a3f04addd4bd3e0dcca288542c31aece5c14f47
+F test/savepoint.test 992d6429b6bce16ac172f7431975044ceaeb0803
F test/savepoint2.test 9b8543940572a2f01a18298c3135ad0c9f4f67d7
F test/savepoint3.test e328085853b14898d78ceea00dfe7db18bb6a9ec
F test/savepoint4.test c8f8159ade6d2acd9128be61e1230f1c1edc6cc0
F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
-P 55d3d39f1c653627fc4c048e12fdd8c4444b6de7
-R 468894c7f6d156cd246fd3471bd6d3a8
+P fb62f4e3a7ceaa60ff6af2196ccf35b48759307e
+R 606c4c3e82f528359642689e8c582063
U dan
-Z 7eb5028e0ecc11263cd317ca187b4b40
+Z f32201e39fa8c72421117160c7f1ff97
INSERT INTO foo VALUES(1);
INSERT INTO foo VALUES(2);
}
-
sql2 {
BEGIN;
SELECT * FROM foo;
RELEASE one;
}
} {}
-
do_test savepoint-14.$tn.7 {
sql2 { CREATE INDEX fooidx ON foo(x); }
sql3 { PRAGMA integrity_check }
} {ok}
}
+do_multiclient_test tn {
+ do_test savepoint-15.$tn.1 {
+ sql1 {
+ CREATE TABLE foo(x);
+ INSERT INTO foo VALUES(1);
+ INSERT INTO foo VALUES(2);
+ }
+ sql2 { BEGIN; SELECT * FROM foo; }
+ } {1 2}
+ do_test savepoint-15.$tn.2 {
+ sql1 {
+ PRAGMA locking_mode = EXCLUSIVE;
+ BEGIN;
+ INSERT INTO foo VALUES(3);
+ }
+ csql1 { COMMIT }
+ } {1 {database is locked}}
+ do_test savepoint-15.$tn.3 {
+ sql1 { ROLLBACK }
+ sql2 { COMMIT }
+ sql1 {
+ INSERT INTO foo VALUES(3);
+ PRAGMA locking_mode = NORMAL;
+ INSERT INTO foo VALUES(4);
+ }
+ sql2 { CREATE INDEX fooidx ON foo(x); }
+ sql3 { PRAGMA integrity_check }
+ } {ok}
+}
+
+do_multiclient_test tn {
+ do_test savepoint-16.$tn.1 {
+ sql1 {
+ CREATE TABLE foo(x);
+ INSERT INTO foo VALUES(1);
+ INSERT INTO foo VALUES(2);
+ }
+ } {}
+ do_test savepoint-16.$tn.2 {
+
+ db eval {SELECT * FROM foo} {
+ sql1 { INSERT INTO foo VALUES(3) }
+ sql2 { SELECT * FROM foo }
+ sql1 { INSERT INTO foo VALUES(4) }
+ break
+ }
+
+ sql2 { CREATE INDEX fooidx ON foo(x); }
+ sql3 { PRAGMA integrity_check }
+ } {ok}
+ do_test savepoint-16.$tn.3 {
+ sql1 { SELECT * FROM foo }
+ } {1 2 3 4}
+}
+
finish_test