- C Avoid\sredefining\sNDEBUG\sif\sthe\sfuzzer\sis\sincluded\sin\san\samalagmated\ssource\sfile.
- D 2012-02-21T18:35:42.365
-C Move\stest\slogic\sfor\sSQLITE_FCNTL_PRAGMA\sout\sof\sos_unix.c\sand\sinto\stest_vfs.c.
-D 2012-02-22T20:08:49.412
++C Expose\sthe\ssqlite3_stricmp()\sinterface.\s\sAdd\sthe\sSQLITE_FCNTL_PRAGMA\sfile\ncontrol.
++D 2012-02-23T14:28:46.056
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
F Makefile.in 3f79a373e57c3b92dabf76f40b065e719d31ac34
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
F src/rowset.c 69afa95a97c524ba6faf3805e717b5b7ae85a697
F src/select.c 232283a2e60d91cbd9a5ddf2f6f7ecf53d590075
F src/shell.c aa28f117033ba3e44b5eaaf2ad572222bcdfd66e
- F src/sqlite.h.in 4f3230be44e084a1e98f91bb031b922f33dcf3f8
-F src/sqlite.h.in 5119a5c169c531d819b790957eebc28c4fc7acf6
++F src/sqlite.h.in f46e368d1a28b09d876e35444785674d170f2d62
F src/sqlite3ext.h 6904f4aadf976f95241311fbffb00823075d9477
- F src/sqliteInt.h ea24b5f2d2e3ae7e0c1126a78c0e025ed4e98f4b
+ F src/sqliteInt.h b013dab7d43fb67c3ca2f0253d7863abb37e233c
F src/sqliteLimit.h 164b0e6749d31e0daa1a4589a169d31c0dec7b3d
F src/status.c 4568e72dfd36b6a5911f93457364deb072e0b03a
F src/table.c 2cd62736f845d82200acfa1287e33feb3c15d62e
F src/test_syscall.c a992d8c80ea91fbf21fb2dd570db40e77dd7e6ae
F src/test_tclvar.c f4dc67d5f780707210d6bb0eb6016a431c04c7fa
F src/test_thread.c e286f2173563f2a1747c24bcda6b9d030bf4f4e4
- F src/test_vfs.c 07157a0bbfe161cb5e32cad2079abd26cd611c4b
- F src/test_vfstrace.c 065c7270a614254b2c68fbc7ba8d1fb1d5cbc823
+ F src/test_vfs.c 73f46bd9b5183ebcb77da22773886b81157cdc3d
-F src/test_vfstrace.c f20a32a5fd46feb59a93d2cf650f1ff92da3872b
++F src/test_vfstrace.c 6b28adb2a0e8ecd0f2e3581482e1f658b11b4067
F src/test_wholenumber.c 6129adfbe7c7444f2e60cc785927f3aa74e12290
F src/test_wsd.c 41cadfd9d97fe8e3e4e44f61a4a8ccd6f7ca8fe9
F src/tokenize.c 1e86210d3976717a19238ea7b047fac481fe8c12
F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
F tool/warnings-clang.sh 9f406d66e750e8ac031c63a9ef3248aaa347ef2a
F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381
- P 969095ca3067d60f4d3a0a4ad419541cb8b146db
- R 6f6307ffcfea232f8dcb8699efa50953
-P 5643618108a8aafba67ed4004039b862bb5e5da8
-R 6e8e292599506d27fedbb78f0e61a658
++P f8ac826f95ae6b7b981e4765d2e65b6839d0eff9 c81fc40b2b584820ac7d1c3848ebeb7225d4eeeb
++R c32d45c36d618b8574dcc1d6ea477e07
U drh
- Z 053a16dcdcfeef74bca7f647480c806f
-Z b333c9e71d55e82ea7cb2edfc422542b
++Z 6215aa1a94e7aa4510913be189893b44
** into an integer that the pArg argument points to. This capability
** is used during testing and only needs to be supported when SQLITE_TEST
** is defined.
--**
++** <ul>
++** <li>[[SQLITE_FCNTL_SIZE_HINT]]
** The [SQLITE_FCNTL_SIZE_HINT] opcode is used by SQLite to give the VFS
** layer a hint of how large the database file will grow to be during the
** current transaction. This hint is not guaranteed to be accurate but it
** file space based on this hint in order to help writes to the database
** file run faster.
**
++** <li>[[SQLITE_FCNTL_CHUNK_SIZE]]
** The [SQLITE_FCNTL_CHUNK_SIZE] opcode is used to request that the VFS
** extends and truncates the database file in chunks of a size specified
** by the user. The fourth argument to [sqlite3_file_control()] should
** chunks (say 1MB at a time), may reduce file-system fragmentation and
** improve performance on some systems.
**
++** <li>[[SQLITE_FCNTL_FILE_POINTER]]
** The [SQLITE_FCNTL_FILE_POINTER] opcode is used to obtain a pointer
** to the [sqlite3_file] object associated with a particular database
** connection. See the [sqlite3_file_control()] documentation for
** additional information.
**
++** <li>[[SQLITE_FCNTL_SYNC_OMITTED]]
** ^(The [SQLITE_FCNTL_SYNC_OMITTED] opcode is generated internally by
** SQLite and sent to all VFSes in place of a call to the xSync method
** when the database connection has [PRAGMA synchronous] set to OFF.)^
** opcode as doing so may disrupt the operation of the specialized VFSes
** that do require it.
**
++** <li>[[SQLITE_FCNTL_WIN32_AV_RETRY]]
** ^The [SQLITE_FCNTL_WIN32_AV_RETRY] opcode is used to configure automatic
** retry counts and intervals for certain disk I/O operations for the
** windows [VFS] in order to provide robustness in the presence of
** into the array entry, allowing the current retry settings to be
** interrogated. The zDbName parameter is ignored.
**
++** <li>[[SQLITE_FCNTL_PERSIST_WAL]]
** ^The [SQLITE_FCNTL_PERSIST_WAL] opcode is used to set or query the
** persistent [WAL | Write AHead Log] setting. By default, the auxiliary
** write ahead log and shared memory files used for transaction control
** WAL mode. If the integer is -1, then it is overwritten with the current
** WAL persistence setting.
**
++** <li>[[SQLITE_FCNTL_POWERSAFE_OVERWRITE]]
** ^The [SQLITE_FCNTL_POWERSAFE_OVERWRITE] opcode is used to set or query the
** persistent "powersafe-overwrite" or "PSOW" setting. The PSOW setting
** determines the [SQLITE_IOCAP_POWERSAFE_OVERWRITE] bit of the
** mode. If the integer is -1, then it is overwritten with the current
** zero-damage mode setting.
**
++** <li>[[SQLITE_FCNTL_OVERWRITE]]
** ^The [SQLITE_FCNTL_OVERWRITE] opcode is invoked by SQLite after opening
** a write transaction to indicate that, unless it is rolled back for some
** reason, the entire database file will be overwritten by the current
** transaction. This is used by VACUUM operations.
**
++** <li>[[SQLITE_FCNTL_VFSNAME]]
** ^The [SQLITE_FCNTL_VFSNAME] opcode can be used to obtain the names of
** all [VFSes] in the VFS stack. The names are of all VFS shims and the
** final bottom-level VFS are written into memory obtained from
** do anything. Callers should initialize the char* variable to a NULL
** pointer in case this file-control is not implemented. This file-control
** is intended for diagnostic use only.
-** to the database file to which the pragma statement refers. ^If the
+ **
++** <li>[[SQLITE_FCNTL_PRAGMA]]
+ ** ^Whenever a [PRAGMA] statement is parsed, an [SQLITE_FCNTL_PRAGMA]
+ ** file control is sent to the open [sqlite3_file] object corresponding
-** [PRAGMA] processing continues. ^However, if the [SQLITE_FCNTL_PRAGMA]
++** to the database file to which the pragma statement refers. ^The argument
++** to the [SQLITE_FCNTL_PRAGMA] file control is an array of
++** pointers to strings (char**) in which the second element of the array
++** is the name of the pragma and the third element is the argument to the
++** pragma or NULL if the pragma has no argument. ^The handler for an
++** [SQLITE_FCNTL_PRAGMA] file control can optionally make the first element
++** of the char** argument point to a string obtained from [sqlite3_mprintf()]
++** or the equivalent and that string will become the result of the pragma or
++** the error message if the pragma fails. ^If the
+ ** [SQLITE_FCNTL_PRAGMA] file control returns [SQLITE_NOTFOUND], then normal
-** VFS has handled the pragma itself and the parser generates a no-op
-** prepared statement.
++** [PRAGMA] processing continues. ^If the [SQLITE_FCNTL_PRAGMA]
+ ** file control returns [SQLITE_OK], then the parser assumes that the
++** VFS has handled the PRAGMA itself and the parser generates a no-op
++** prepared statement. ^If the [SQLITE_FCNTL_PRAGMA] file control returns
++** any result code other than [SQLITE_OK] or [SQLITE_NOTFOUND], that means
++** that the VFS encountered an error while handling the [PRAGMA] and the
++** compilation of the PRAGMA fails with an error. ^The [SQLITE_FCNTL_PRAGMA]
++** file control occurs at the beginning of pragma statement analysis and so
++** it is able to override built-in [PRAGMA] statements.
++** </ul>
*/
#define SQLITE_FCNTL_LOCKSTATE 1
#define SQLITE_GET_LOCKPROXYFILE 2