Add the "eForce" parameter to the sqlite3_multiplex_shutdown() entry point

in test_multiplex.c.  Shutdown is forced if true.  Shutdown is not done if
there are pending database connections and eForce is false, but an error log
entry is made instead.

FossilOrigin-Name: c7303d0139f7e7f4fa7060b52942e6c6c6d4b622
This commit is contained in:
drh
2014-07-30 15:43:05 +00:00
parent ac50232d0f
commit a1a8298c2e
5 changed files with 35 additions and 16 deletions
+10
View File
@@ -68,6 +68,12 @@ proc multiplex_delete {name} {
}
db close
sqlite3_shutdown
test_sqlite3_log xLog
proc xLog {error_code msg} {
lappend ::log $error_code $msg
}
unset -nocomplain log
multiplex_delete test.db
multiplex_delete test2.db
@@ -188,12 +194,16 @@ do_test multiplex-2.3.1 {
} {}
unset -nocomplain ::log
do_test multiplex-2.4.1 {
sqlite3_multiplex_shutdown
} {SQLITE_MISUSE}
do_test multiplex-2.4.2 {
execsql { INSERT INTO t1 VALUES(3, randomblob(1100)) }
} {}
do_test multiplex-2.4.3 {
set ::log
} {SQLITE_MISUSE {sqlite3_multiplex_shutdown() called while database connections are still open}}
do_test multiplex-2.4.4 { file size [multiplex_name test.x 0] } {7168}
do_test multiplex-2.4.5 {
db close