Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Add an English language error message to corresponding to SQLITE_PROTOCOL. "locking protocol". |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
ca327e32cfe1633f2c9d3f058e411f10 |
User & Date: | dan 2010-06-04 15:59:59.000 |
Context
2010-06-04
| ||
17:16 | Remove an unnecessary branch from wal.c. (check-in: 8e54786c9a user: dan tags: trunk) | |
15:59 | Add an English language error message to corresponding to SQLITE_PROTOCOL. "locking protocol". (check-in: ca327e32cf user: dan tags: trunk) | |
12:22 | Add test for the code that detects an inconsistent pair of wal-index headers to wal2.test. (check-in: 157feba10f user: dan tags: trunk) | |
Changes
Changes to src/main.c.
︙ | ︙ | |||
772 773 774 775 776 777 778 | /* SQLITE_READONLY */ "attempt to write a readonly database", /* SQLITE_INTERRUPT */ "interrupted", /* SQLITE_IOERR */ "disk I/O error", /* SQLITE_CORRUPT */ "database disk image is malformed", /* SQLITE_NOTFOUND */ 0, /* SQLITE_FULL */ "database or disk is full", /* SQLITE_CANTOPEN */ "unable to open database file", | | | 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 | /* SQLITE_READONLY */ "attempt to write a readonly database", /* SQLITE_INTERRUPT */ "interrupted", /* SQLITE_IOERR */ "disk I/O error", /* SQLITE_CORRUPT */ "database disk image is malformed", /* SQLITE_NOTFOUND */ 0, /* SQLITE_FULL */ "database or disk is full", /* SQLITE_CANTOPEN */ "unable to open database file", /* SQLITE_PROTOCOL */ "locking protocol", /* SQLITE_EMPTY */ "table contains no data", /* SQLITE_SCHEMA */ "database schema has changed", /* SQLITE_TOOBIG */ "string or blob too big", /* SQLITE_CONSTRAINT */ "constraint failed", /* SQLITE_MISMATCH */ "datatype mismatch", /* SQLITE_MISUSE */ "library routine called out of sequence", /* SQLITE_NOLFS */ "large file support is disabled", |
︙ | ︙ |
Changes to test/wal3.test.
︙ | ︙ | |||
253 254 255 256 257 258 259 260 261 262 263 | T filter {} set ::syncs } $synccount db close T delete } finish_test | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 | T filter {} set ::syncs } $synccount db close T delete } #------------------------------------------------------------------------- # When recovering the contents of a WAL file, a process obtains the WRITER # lock, then locks all other bytes before commencing recovery. If it fails # to lock all other bytes (because some other process is holding a read # lock) it should return SQLITE_BUSY to the caller. Test this. # proc lock_callback {method filename handle lock} { lappend ::locks $lock } do_test wal3-4.1 { testvfs T T filter xShmLock T script lock_callback set ::locks [list] sqlite3 db test.db -vfs T execsql { SELECT * FROM x } lrange $::locks 0 3 } [list {0 1 lock exclusive} {1 7 lock exclusive} \ {1 7 unlock exclusive} {0 1 unlock exclusive} \ ] do_test wal3-4.2 { db close set ::locks [list] sqlite3 db test.db -vfs T execsql { SELECT * FROM x } lrange $::locks 0 3 } [list {0 1 lock exclusive} {1 7 lock exclusive} \ {1 7 unlock exclusive} {0 1 unlock exclusive} \ ] proc lock_callback {method filename handle lock} { if {$lock == "1 7 lock exclusive"} { return SQLITE_BUSY } return SQLITE_OK } puts " Warning: This next test case causes SQLite to call xSleep(1) 100 times." puts " Normally this equates to a 100ms delay, but if SQLite is built on unix" puts " without HAVE_USLEEP defined, it may be 100 seconds." do_test wal3-4.3 { db close set ::locks [list] sqlite3 db test.db -vfs T catchsql { SELECT * FROM x } } {1 {locking protocol}} db close T delete finish_test |