-C Fix\sa\stypo\sin\sthe\s"News"\son\sthe\shomepage.\s(CVS\s1935)
-D 2004-09-02T16:53:12
+C More\stests\sof\ssqlite3_step()\sand\sSQLITE_BUSY\sadded.\s(CVS\s1936)
+D 2004-09-03T00:27:57
F Makefile.in 65a7c43fcaf9a710d62f120b11b6e435eeb4a450
F Makefile.linux-gcc a9e5a0d309fa7c38e7c14d3ecf7690879d3a5457
F README f1de682fbbd94899d50aca13d387d1b3fd3be2dd
F test/btree7.test 429b96cfef5b51a7d512cfb4b5b3e453384af293
F test/capi2.test 53e3f399074d5654f26d55b32ccaca7b5b619933
F test/capi3.test 9258ca75fc98d89477015dcd70aa3d2757b142b8
-F test/capi3b.test 458044d8c250c129ddfd77c6265a6923bc008b5e
+F test/capi3b.test 5b6a66f9f295f79f443b5d3f33187fa5ef6cf336
F test/collate1.test f79736d2ebf5492167ee4d1f4ab4c09dda776b03
F test/collate2.test c1a3b41f761b28853c5696037f92de928f93233b
F test/collate3.test e60b428e07ec945492ba90ff1c895902ee3a8a50
F www/vdbe.tcl 59288db1ac5c0616296b26dce071c36cb611dfe9
F www/version3.tcl 092a01f5ef430d2c4acc0ae558d74c4bb89638a0
F www/whentouse.tcl a8335bce47cc2fddb07f19052cb0cb4d9129a8e4
-P c190b95c30981d2a6026e501e21af675ff8a2d13
-R 1638f4635573b53fbd203875f1db6394
+P 45d7158878a9648708d8ed47944707169a7f7f1c
+R 14f7ba7cd5cb5bab38c50df92d09018d
U drh
-Z 99e486219945bb06af0bd28d189eaa23
+Z 97faa8433bbaa30accc2ea468a82795b
-45d7158878a9648708d8ed47944707169a7f7f1c
\ No newline at end of file
+9e6645dd781cb8e422e371ca23766dc1b689481e
\ No newline at end of file
# particular the behavior of sqlite3_step() when trying to commit
# with lock contention.
#
-# $Id: capi3b.test,v 1.1 2004/09/02 14:57:09 drh Exp $
+# $Id: capi3b.test,v 1.2 2004/09/03 00:27:57 drh Exp $
#
set testdir [file dirname $argv0]
execsql {SELECT * FROM t1}
} {1 2 3}
+# Start doing a SELECT with one connection. This gets a SHARED lock.
+# Then do an INSERT with the other connection. The INSERT should
+# not be able to complete until the SELECT finishes.
+#
+do_test capi3b-2.1 {
+ set VM1 [sqlite3_prepare $DB {SELECT * FROM t1} -1 TAIL]
+ sqlite3_step $VM1
+} SQLITE_ROW
+do_test capi3b-2.2 {
+ sqlite3_column_text $VM1 0
+} 1
+do_test capi3b-2.3 {
+ set VM2 [sqlite3_prepare $DB2 {INSERT INTO t1 VALUES(4)} -1 TAIL]
+ sqlite3_step $VM2
+} SQLITE_BUSY
+do_test capi3b-2.4 {
+ sqlite3_step $VM1
+} SQLITE_ROW
+do_test capi3b-2.5 {
+ sqlite3_column_text $VM1 0
+} 2
+do_test capi3b-2.6 {
+ sqlite3_step $VM2
+} SQLITE_BUSY
+do_test capi3b-2.7 {
+ sqlite3_step $VM1
+} SQLITE_ROW
+do_test capi3b-2.8 {
+ sqlite3_column_text $VM1 0
+} 3
+do_test capi3b-2.9 {
+ sqlite3_step $VM2
+} SQLITE_BUSY
+do_test capi3b-2.10 {
+ sqlite3_step $VM1
+} SQLITE_DONE
+do_test capi3b-2.11 {
+ sqlite3_step $VM2
+} SQLITE_DONE
+do_test capi3b-2.12 {
+ sqlite3_finalize $VM1
+ sqlite3_finalize $VM2
+ execsql {SELECT * FROM t1}
+} {1 2 3 4}
+
catch {db2 close}
finish_test