Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Add some documentation for pragma locking_mode. (CVS 3715) |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
394b174e59262a84c530ea73c367d8c3 |
User & Date: | danielk1977 2007-03-26 08:41:13.000 |
Context
2007-03-26
| ||
10:27 | Add some tests and fixes surrounding exclusive-access mode and the pager change-counter. (CVS 3716) (check-in: 72cb2e1a73 user: danielk1977 tags: trunk) | |
08:41 | Add some documentation for pragma locking_mode. (CVS 3715) (check-in: 394b174e59 user: danielk1977 tags: trunk) | |
08:05 | Some fixes and test cases for exclusive access mode. (CVS 3714) (check-in: 899e60707b user: danielk1977 tags: trunk) | |
Changes
Changes to www/pragma.tcl.
1 2 3 | # # Run this Tcl script to generate the pragma.html file. # | | | 1 2 3 4 5 6 7 8 9 10 11 | # # Run this Tcl script to generate the pragma.html file. # set rcsid {$Id: pragma.tcl,v 1.21 2007/03/26 08:41:13 danielk1977 Exp $} source common.tcl header {Pragma statements supported by SQLite} proc Section {name {label {}}} { puts "\n<hr />" if {$label!=""} { puts "<a name=\"$label\"></a>" |
︙ | ︙ | |||
23 24 25 26 27 28 29 | <ul> <li>Specific pragma statements may be removed and others added in future releases of SQLite. Use with caution! <li>No error messages are generated if an unknown pragma is issued. Unknown pragmas are simply ignored. This means if there is a typo in a pragma statement the library does not inform the user of the fact. <li>Some pragmas take effect during the SQL compilation stage, not the | | | < < > > | 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | <ul> <li>Specific pragma statements may be removed and others added in future releases of SQLite. Use with caution! <li>No error messages are generated if an unknown pragma is issued. Unknown pragmas are simply ignored. This means if there is a typo in a pragma statement the library does not inform the user of the fact. <li>Some pragmas take effect during the SQL compilation stage, not the execution stage. This means if using the C-language sqlite3_prepare(), sqlite3_step(), sqlite3_finalize() API (or similar in a wrapper interface), the pragma may be applied to the library during the sqlite3_prepare() call. <li>The pragma command is unlikely to be compatible with any other SQL engine. </ul> <p>The available pragmas fall into four basic categories:</p> <ul> <li>Pragmas used to <a href="#modify">modify the operation</a> of the SQLite library in some manner, or to query for the current mode of operation. <li>Pragmas used to <a href="#schema">query the schema</a> of the current database. <li>Pragmas used to <a href="#version">query or modify the databases two version values</a>, the schema-version and the user-version. <li>Pragmas used to <a href="#debug">debug the library</a> and verify that database files are not corrupted. </ul> } |
︙ | ︙ | |||
231 232 233 234 235 236 237 238 239 240 241 242 243 244 | are created using the latest file format which might not be readable or writable by older versions of SQLite.</p> <p>This flag only affects newly created databases. It has no effect on databases that already exist.</p> </li> <a name="pragma_page_size"></a> <li><p><b>PRAGMA page_size; <br>PRAGMA page_size = </b><i>bytes</i><b>;</b></p> <p>Query or set the page-size of the database. The page-size may only be set if the database has not yet been created. The page size must be a power of two greater than or equal to 512 and less | > > > > > > > > > > > > > > > > > > > > > > > > > > > | 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 | are created using the latest file format which might not be readable or writable by older versions of SQLite.</p> <p>This flag only affects newly created databases. It has no effect on databases that already exist.</p> </li> <a name="pragma_locking_mode"></a> <li><p><b>PRAGMA locking_mode; <br>PRAGMA locking_mode = <i>NORMAL | EXCLUSIVE</i></b></p> <p>This pragma sets or queries the database connection locking-mode. The locking-mode is either NORMAL or EXCLUSIVE. <p>In NORMAL locking-mode (the default), a database connection unlocks the database file at the conclusion of each read or write transaction. When the locking-mode is set to EXCLUSIVE, the database connection never releases file-locks. The first time the database is read in EXCLUSIVE mode, a shared lock is obtained and held. The first time the database is written, an exclusive lock is obtained and held. <p>Database locks obtained by a connection in EXCLUSIVE mode may be released either by closing the database connection, or by setting the locking-mode back to NORMAL using this pragma and then accessing the database file (for read or write). Simply setting the locking-mode to NORMAL is not enough, locks not be released until the next time the database file is accessed. <p>There are two reasons to set the locking-mode to EXCLUSIVE. One is if the application actually wants to prevent other processes from accessing the database file. The other is that a small number of filesystem operations are saved by optimizations enabled in this mode. This may be significant in embedded environments. </li> <a name="pragma_page_size"></a> <li><p><b>PRAGMA page_size; <br>PRAGMA page_size = </b><i>bytes</i><b>;</b></p> <p>Query or set the page-size of the database. The page-size may only be set if the database has not yet been created. The page size must be a power of two greater than or equal to 512 and less |
︙ | ︙ |