Documentation Source Text

Check-in [982ce9adde]
Login

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

Overview
Comment:Update the change log for the unix temporary directory search change.
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 982ce9adde364702570bf7fe611db6e16f828912
User & Date: drh 2016-04-22 12:14:38
Context
2016-04-23
16:24
Add a new hyperlink on the cli.html page. check-in: 03e1bee6c8 user: drh tags: trunk
2016-04-22
12:14
Update the change log for the unix temporary directory search change. check-in: 982ce9adde user: drh tags: trunk
2016-04-21
13:37
Fix a typo in rbu.in: "us" -> "use". check-in: b50372204c user: dan tags: trunk
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to pages/changes.in.

    18     18     global nChng aChng xrefChng
    19     19     set aChng($nChng) [list $date $desc $options]
    20     20     set xrefChng($date) $nChng
    21     21     incr nChng
    22     22   }
    23     23   
    24     24   chng {2016-05-00 (3.13.0)} {
    25         -<li>Added the [session] extension to trunk.
           25  +<li>Merged the [session] extension into trunk.
    26     26   <li>Added the ".auth ON|OFF" command to the [command-line shell].
    27     27   <li>Improved unicode filename handling in the [command-line shell] on Windows.
    28     28   <li>Improved resistance against goofy query planner decisions caused by
    29     29       incomplete or incorrect modifications to the [sqlite_stat1] 
    30     30       table by the application.
    31     31   <li>Added the [sqlite3_db_config](db,[SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION]) interface
    32     32       which allows the [sqlite3_load_extension()] C-API to be enabled while keeping the
    33     33       [load_extension()] SQL function disabled for security.
           34  +<li>Change the [temporary directory search algorithm] on Unix to allow directories
           35  +    read and execute permission, but without read permission, to serve as temporary
           36  +    directories.  Apply this same standard to the "." fallback directory.
    34     37   } {backport {2016-04-18 (3.12.2)} backport {2016-04-08 (3.12.1)}}
    35     38   
    36     39   chng {2016-04-18 (3.12.2)} {
    37     40   <li>Fix a backwards compatibility problem in version 3.12.0 and 3.12.1:
    38     41       Columns declared as <tt>"INTEGER" PRIMARY KEY</tt> (with quotes around
    39     42       the datatype keyword) where not being recognized as an
    40     43       [INTEGER PRIMARY KEY], which resulted in an incompatible database file.

Changes to pages/tempfiles.in.

   664    664   (The default value is 500 pages.)
   665    665   The maximum number of database pages in the page cache is the
   666    666   same for every temporary table and index.  The value cannot
   667    667   be changed at run-time or on a per-table or per-index basis.
   668    668   Each temporary file gets its own private page cache with its
   669    669   own SQLITE_DEFAULT_TEMP_CACHE_SIZE page limit.
   670    670   </p>
          671  +
          672  +<tcl>hd_fragment tempdir {temporary directory search algorithm}</tcl>
          673  +<h2>5.0 Temporary File Storage Locations</h2>
          674  +
          675  +<p>
          676  +The directory or folder in which temporary files are created is
          677  +determined by the OS-specific [VFS].
          678  +
          679  +<p>
          680  +On unix-like systems, directories are searched in the following order:
          681  +<ol>
          682  +<li>The directory set by [PRAGMA temp_store_directory] or by the
          683  +    [sqlite3_temp_directory] global variable
          684  +<li>The SQLITE_TMPDIR environment variable
          685  +<li>The TMPDIR environment variable
          686  +<li>/var/tmp
          687  +<li>/usr/tmp
          688  +<li>/tmp
          689  +<li>The current working directory (".")
          690  +</ol>
          691  +The first of the above that is found to exist and have the write and
          692  +execute bits set is used.  The final "." fallback is important for some
          693  +applications that use SQLite inside of chroot jails that do not have
          694  +the standard temporary file locations available.
          695  +
          696  +<p>
          697  +On Windows systems, folders are searched in the following order:
          698  +<ol>
          699  +<li>The folder set by [PRAGMA temp_store_directory] or by the
          700  +    [sqlite3_temp_directory] global variable
          701  +<li>The folder returned by the GetTempPath() system interface.
          702  +</ol>
          703  +SQLite itself does not pay any attention to environment variables
          704  +in this case, though presumably the GetTempPath() system call does.
          705  +The search algorithm is different for CYGWIN builds.  Check the 
          706  +source code for details.