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 Unified Diffs Show Whitespace Changes Patch

Changes to pages/changes.in.

18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33



34
35
36
37
38
39
40
  global nChng aChng xrefChng
  set aChng($nChng) [list $date $desc $options]
  set xrefChng($date) $nChng
  incr nChng
}

chng {2016-05-00 (3.13.0)} {
<li>Added the [session] extension to trunk.
<li>Added the ".auth ON|OFF" command to the [command-line shell].
<li>Improved unicode filename handling in the [command-line shell] on Windows.
<li>Improved resistance against goofy query planner decisions caused by
    incomplete or incorrect modifications to the [sqlite_stat1] 
    table by the application.
<li>Added the [sqlite3_db_config](db,[SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION]) interface
    which allows the [sqlite3_load_extension()] C-API to be enabled while keeping the
    [load_extension()] SQL function disabled for security.



} {backport {2016-04-18 (3.12.2)} backport {2016-04-08 (3.12.1)}}

chng {2016-04-18 (3.12.2)} {
<li>Fix a backwards compatibility problem in version 3.12.0 and 3.12.1:
    Columns declared as <tt>"INTEGER" PRIMARY KEY</tt> (with quotes around
    the datatype keyword) where not being recognized as an
    [INTEGER PRIMARY KEY], which resulted in an incompatible database file.







|








>
>
>







18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
  global nChng aChng xrefChng
  set aChng($nChng) [list $date $desc $options]
  set xrefChng($date) $nChng
  incr nChng
}

chng {2016-05-00 (3.13.0)} {
<li>Merged the [session] extension into trunk.
<li>Added the ".auth ON|OFF" command to the [command-line shell].
<li>Improved unicode filename handling in the [command-line shell] on Windows.
<li>Improved resistance against goofy query planner decisions caused by
    incomplete or incorrect modifications to the [sqlite_stat1] 
    table by the application.
<li>Added the [sqlite3_db_config](db,[SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION]) interface
    which allows the [sqlite3_load_extension()] C-API to be enabled while keeping the
    [load_extension()] SQL function disabled for security.
<li>Change the [temporary directory search algorithm] on Unix to allow directories
    read and execute permission, but without read permission, to serve as temporary
    directories.  Apply this same standard to the "." fallback directory.
} {backport {2016-04-18 (3.12.2)} backport {2016-04-08 (3.12.1)}}

chng {2016-04-18 (3.12.2)} {
<li>Fix a backwards compatibility problem in version 3.12.0 and 3.12.1:
    Columns declared as <tt>"INTEGER" PRIMARY KEY</tt> (with quotes around
    the datatype keyword) where not being recognized as an
    [INTEGER PRIMARY KEY], which resulted in an incompatible database file.

Changes to pages/tempfiles.in.

664
665
666
667
668
669
670




































(The default value is 500 pages.)
The maximum number of database pages in the page cache is the
same for every temporary table and index.  The value cannot
be changed at run-time or on a per-table or per-index basis.
Each temporary file gets its own private page cache with its
own SQLITE_DEFAULT_TEMP_CACHE_SIZE page limit.
</p>











































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
(The default value is 500 pages.)
The maximum number of database pages in the page cache is the
same for every temporary table and index.  The value cannot
be changed at run-time or on a per-table or per-index basis.
Each temporary file gets its own private page cache with its
own SQLITE_DEFAULT_TEMP_CACHE_SIZE page limit.
</p>

<tcl>hd_fragment tempdir {temporary directory search algorithm}</tcl>
<h2>5.0 Temporary File Storage Locations</h2>

<p>
The directory or folder in which temporary files are created is
determined by the OS-specific [VFS].

<p>
On unix-like systems, directories are searched in the following order:
<ol>
<li>The directory set by [PRAGMA temp_store_directory] or by the
    [sqlite3_temp_directory] global variable
<li>The SQLITE_TMPDIR environment variable
<li>The TMPDIR environment variable
<li>/var/tmp
<li>/usr/tmp
<li>/tmp
<li>The current working directory (".")
</ol>
The first of the above that is found to exist and have the write and
execute bits set is used.  The final "." fallback is important for some
applications that use SQLite inside of chroot jails that do not have
the standard temporary file locations available.

<p>
On Windows systems, folders are searched in the following order:
<ol>
<li>The folder set by [PRAGMA temp_store_directory] or by the
    [sqlite3_temp_directory] global variable
<li>The folder returned by the GetTempPath() system interface.
</ol>
SQLite itself does not pay any attention to environment variables
in this case, though presumably the GetTempPath() system call does.
The search algorithm is different for CYGWIN builds.  Check the 
source code for details.