Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Make the default threading mode multithread (-nomutex) in the TCL interface. (CVS 5670) |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
d9e826942673ad048d611c014bfbee39 |
User & Date: | drh 2008-09-03 01:08:01.000 |
Context
2008-09-03
| ||
17:11 | Work around an issue with the WINSCW compiler. (CVS 5671) (check-in: e333c3f4c3 user: drh tags: trunk) | |
01:08 | Make the default threading mode multithread (-nomutex) in the TCL interface. (CVS 5670) (check-in: d9e8269426 user: drh tags: trunk) | |
00:43 | Add support for SQLITE_OPEN_FULLMUTEX. (CVS 5669) (check-in: f2f361a5e2 user: drh tags: trunk) | |
Changes
Changes to src/tclsqlite.c.
︙ | ︙ | |||
8 9 10 11 12 13 14 | ** May you find forgiveness for yourself and forgive others. ** May you share freely, never taking more than you give. ** ************************************************************************* ** A TCL Interface to SQLite. Append this file to sqlite3.c and ** compile the whole thing to build a TCL-enabled version of SQLite. ** | | | 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | ** May you find forgiveness for yourself and forgive others. ** May you share freely, never taking more than you give. ** ************************************************************************* ** A TCL Interface to SQLite. Append this file to sqlite3.c and ** compile the whole thing to build a TCL-enabled version of SQLite. ** ** $Id: tclsqlite.c,v 1.223 2008/09/03 01:08:01 drh Exp $ */ #include "tcl.h" #include <errno.h> /* ** Some additional include files are needed if this file is not ** appended to the amalgamation. |
︙ | ︙ | |||
2323 2324 2325 2326 2327 2328 2329 | void *pKey = 0; int nKey = 0; const char *zArg; char *zErrMsg; int i; const char *zFile; const char *zVfs = 0; | | | 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 | void *pKey = 0; int nKey = 0; const char *zArg; char *zErrMsg; int i; const char *zFile; const char *zVfs = 0; int flags = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_NOMUTEX; Tcl_DString translatedFilename; if( objc==2 ){ zArg = Tcl_GetStringFromObj(objv[1], 0); if( strcmp(zArg,"-version")==0 ){ Tcl_AppendResult(interp,sqlite3_version,0); return TCL_OK; } |
︙ | ︙ |
Changes to test/mutex1.test.
1 2 3 4 5 6 7 8 9 10 11 | # 2008 June 17 # # The author disclaims copyright to this source code. In place of # a legal notice, here is a blessing: # # May you do good and not evil. # May you find forgiveness for yourself and forgive others. # May you share freely, never taking more than you give. # #*********************************************************************** # | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | # 2008 June 17 # # The author disclaims copyright to this source code. In place of # a legal notice, here is a blessing: # # May you do good and not evil. # May you find forgiveness for yourself and forgive others. # May you share freely, never taking more than you give. # #*********************************************************************** # # $Id: mutex1.test,v 1.14 2008/09/03 01:08:02 drh Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl if {[info exists tester_do_binarylog]} { finish_test return |
︙ | ︙ | |||
93 94 95 96 97 98 99 | # * Single-threaded mode. # set enable_shared_cache [sqlite3_enable_shared_cache 1] ifcapable threadsafe { foreach {mode mutexes} { singlethread {} multithread {fast static_lru static_master static_mem static_prng } | | | | 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 | # * Single-threaded mode. # set enable_shared_cache [sqlite3_enable_shared_cache 1] ifcapable threadsafe { foreach {mode mutexes} { singlethread {} multithread {fast static_lru static_master static_mem static_prng } serialized {fast recursive static_lru static_master static_mem static_prng} } { do_test mutex1.2.$mode.1 { catch {db close} sqlite3_shutdown sqlite3_config $mode } SQLITE_OK do_test mutex1.2.$mode.2 { sqlite3_initialize clear_mutex_counters sqlite3 db test.db -nomutex 0 catchsql { CREATE TABLE abc(a, b, c) } db eval { INSERT INTO abc VALUES(1, 2, 3); } } {} do_test mutex1.2.$mode.3 { |
︙ | ︙ |
Changes to test/permutations.test.
1 2 3 4 5 6 7 8 9 10 11 | # 2008 June 21 # # The author disclaims copyright to this source code. In place of # a legal notice, here is a blessing: # # May you do good and not evil. # May you find forgiveness for yourself and forgive others. # May you share freely, never taking more than you give. # #*********************************************************************** # | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | # 2008 June 21 # # The author disclaims copyright to this source code. In place of # a legal notice, here is a blessing: # # May you do good and not evil. # May you find forgiveness for yourself and forgive others. # May you share freely, never taking more than you give. # #*********************************************************************** # # $Id: permutations.test,v 1.29 2008/09/03 01:08:02 drh Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl # Argument processing. # #puts "PERM-DEBUG: argv=$argv" |
︙ | ︙ | |||
267 268 269 270 271 272 273 | run_tests "nomutex" -description { Tests run with the SQLITE_OPEN_MULTITHREADED flag passed to sqlite3_open(). } -initialize { rename sqlite3 sqlite3_nomutex proc sqlite3 {args} { if {[string range [lindex $args 0] 0 0] ne "-"} { | | | 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 | run_tests "nomutex" -description { Tests run with the SQLITE_OPEN_MULTITHREADED flag passed to sqlite3_open(). } -initialize { rename sqlite3 sqlite3_nomutex proc sqlite3 {args} { if {[string range [lindex $args 0] 0 0] ne "-"} { lappend args -fullmutex 0 -nomutex 1 } uplevel [concat sqlite3_nomutex $args] } } -include { delete.test delete2.test insert.test rollback.test select1.test select2.test trans.test update.test vacuum.test types.test types2.test types3.test |
︙ | ︙ | |||
310 311 312 313 314 315 316 | # run_tests "fullmutex" -description { Tests run in SQLITE_OPEN_FULLMUTEX mode } -initialize { rename sqlite3 sqlite3_fullmutex proc sqlite3 {args} { if {[string range [lindex $args 0] 0 0] ne "-"} { | | | 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 | # run_tests "fullmutex" -description { Tests run in SQLITE_OPEN_FULLMUTEX mode } -initialize { rename sqlite3 sqlite3_fullmutex proc sqlite3 {args} { if {[string range [lindex $args 0] 0 0] ne "-"} { lappend args -nomutex 0 -fullmutex 1 } uplevel [concat sqlite3_fullmutex $args] } } -include { delete.test delete2.test insert.test rollback.test select1.test select2.test trans.test update.test vacuum.test types.test types2.test types3.test |
︙ | ︙ |