/ Check-in [51fab480]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Updates to the file-control documentation. No changes to code.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 51fab480d0487107709e6c9e00bc0512b82ef1aa
User & Date: drh 2013-04-04 01:54:10
Context
2013-04-04
17:28
Disable memory-mapped I/O for the win32lock.test module check-in: 2b3d9805 user: drh tags: trunk
01:54
Updates to the file-control documentation. No changes to code. check-in: 51fab480 user: drh tags: trunk
00:51
Increase the version number to 3.7.17. check-in: 5c8c5a2a user: drh tags: trunk
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to src/sqlite.h.in.

   864    864   ** any result code other than [SQLITE_OK] or [SQLITE_NOTFOUND], that means
   865    865   ** that the VFS encountered an error while handling the [PRAGMA] and the
   866    866   ** compilation of the PRAGMA fails with an error.  ^The [SQLITE_FCNTL_PRAGMA]
   867    867   ** file control occurs at the beginning of pragma statement analysis and so
   868    868   ** it is able to override built-in [PRAGMA] statements.
   869    869   **
   870    870   ** <li>[[SQLITE_FCNTL_BUSYHANDLER]]
   871         -** ^This file-control may be invoked by SQLite on the database file handle
          871  +** ^The [SQLITE_FCNTL_BUSYHANDLER]
          872  +** file-control may be invoked by SQLite on the database file handle
   872    873   ** shortly after it is opened in order to provide a custom VFS with access
   873    874   ** to the connections busy-handler callback. The argument is of type (void **)
   874    875   ** - an array of two (void *) values. The first (void *) actually points
   875    876   ** to a function of type (int (*)(void *)). In order to invoke the connections
   876    877   ** busy-handler, this function should be invoked with the second (void *) in
   877    878   ** the array as the only argument. If it returns non-zero, then the operation
   878    879   ** should be retried. If it returns zero, the custom VFS should abandon the
   879    880   ** current operation.
   880    881   **
   881    882   ** <li>[[SQLITE_FCNTL_TEMPFILENAME]]
   882         -** ^Application can invoke this file-control to have SQLite generate a
          883  +** ^Application can invoke the [SQLITE_FCNTL_TEMPFILENAME] file-control
          884  +** to have SQLite generate a
   883    885   ** temporary filename using the same algorithm that is followed to generate
   884    886   ** temporary filenames for TEMP tables and other internal uses.  The
   885    887   ** argument should be a char** which will be filled with the filename
   886    888   ** written into memory obtained from [sqlite3_malloc()].  The caller should
   887    889   ** invoke [sqlite3_free()] on the result to avoid a memory leak.
   888    890   **
   889    891   ** <li>[[SQLITE_FCNTL_MMAP_LIMIT]]
   890         -** The argument is assumed to pointer to a value of type sqlite3_int64 that
          892  +** The [SQLITE_FCNTL_MMAP_LIMIT] file control is used to query or set the
          893  +** maximum number of bytes that will be used for memory-mapped I/O.
          894  +** The argument is a pointer to a value of type sqlite3_int64 that
   891    895   ** is an advisory maximum number of bytes in the file to memory map.  The
   892    896   ** pointer is overwritten with the old value.  The limit is not changed if
   893         -** the original value pointed to is negative.
          897  +** the originally pointed to is negative, and so the current limit can be
          898  +** queried by passing in a pointer to a negative number.  This file-control
          899  +** is used internally to implement [PRAGMA mmap_limit].
   894    900   **
   895    901   ** </ul>
   896    902   */
   897    903   #define SQLITE_FCNTL_LOCKSTATE               1
   898    904   #define SQLITE_GET_LOCKPROXYFILE             2
   899    905   #define SQLITE_SET_LOCKPROXYFILE             3
   900    906   #define SQLITE_LAST_ERRNO                    4
................................................................................
  1642   1648   **
  1643   1649   ** [[SQLITE_CONFIG_MMAP_LIMIT]]
  1644   1650   ** <dt>SQLITE_CONFIG_MMAP_LIMIT
  1645   1651   ** <dd>The sole argument should be a 64-bit integer (an sqlite3_int64) that
  1646   1652   ** is the default maximum number of bytes of process address space that
  1647   1653   ** should be used for accessing each database file using memory mapping.
  1648   1654   ** The default setting can be overridden by each database connection using
  1649         -** either the [PRAGMA mmap_limit] command or the "mmaplimit" query parameter
  1650         -** on the [URI filename] when opening the databaes file or by using the
         1655  +** either the [PRAGMA mmap_limit] command, or by using the
  1651   1656   ** [SQLITE_FCNTL_MMAP_LIMIT] file control.  The value set here overrides the
  1652         -** compile-time default that is set using the [SQLITE_DEFAULT_MMAP_LIMIT]
  1653         -** compile-time option.  If the argument to this option is negative, then
         1657  +** compile-time default that is set using [SQLITE_DEFAULT_MMAP_LIMIT].
         1658  +** If the argument to this option is negative, then
  1654   1659   ** the memory map limit is set to the compile-time default.
  1655   1660   ** </dl>
  1656   1661   */
  1657   1662   #define SQLITE_CONFIG_SINGLETHREAD  1  /* nil */
  1658   1663   #define SQLITE_CONFIG_MULTITHREAD   2  /* nil */
  1659   1664   #define SQLITE_CONFIG_SERIALIZED    3  /* nil */
  1660   1665   #define SQLITE_CONFIG_MALLOC        4  /* sqlite3_mem_methods* */