Documentation Source Text

Check-in [7bb88a1e22]
Login

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

Overview
Comment:Update the change log for 3.12.0
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 7bb88a1e22da13424c586ba542b732709f0c3abe
User & Date: drh 2016-03-19 18:55:28
Context
2016-03-19
19:33
Fix a minor formatting issue in FTS5 documentation. check-in: c959b23a38 user: drh tags: trunk
18:55
Update the change log for 3.12.0 check-in: 7bb88a1e22 user: drh tags: trunk
2016-03-18
15:46
Merge wal.html update from the 3.11.0 branch. check-in: 147aa03544 user: drh tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to pages/changes.in.

17
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
44
45
46








47


48
49
50
51


52
53
54
55
56


57
58
59
60
61
62
63

64
65
66
67
68
69
70
proc chng {date desc {options {}}} {
  global nChng aChng
  set aChng($nChng) [list $date $desc $options]
  incr nChng
}

chng {2016-04-00 (3.12.0)} {
<p><b><font color='red'>Potentially Disruptive Change:</font></b>
<li>The [SQLITE_DEFAULT_PAGE_SIZE] is increased from 1024 to 4096.  
    The [SQLITE_DEFAULT_CACHE_SIZE] is changed from 2000 to -2000 so 
    as to continue using the same amount of memory.
    See the application note on the
    [version 3.12.0 page size change] for further information.
<p><b>Performance enhancements:</b>
<li>Enhancements to the [https://www.sqlite.org/src/doc/trunk/doc/lemon.html|Lemon]
    parser generator so that it creates a smaller and faster SQL parser.
<li>Only create [master journal] files if two or more attached databases are
(1) modified, (2) do not have [PRAGMA synchronous] set to OFF, and
(3) do not have the [journal_mode] set to OFF, MEMORY, or WAL.
<li>Only create [statement journal] files when their size exceeds a threshold.
    Otherwise the journal is held in memory and no I/O occurs.  The threshold
    can be configured at compile-time using [SQLITE_STMTJRNL_SPILL] or at
    start-time using [sqlite3_config]([SQLITE_CONFIG_STMTJRNL_SPILL]).
<li>The query planner is able to optimize IN operators on [virtual tables]
    even if the [xBestIndex] method does not set the
    sqlite3_index_constraint_usage.omit flag of the
    virtual table column to the left of the IN operator.
<li>The query planner now does a better job of optimizing [virtual table]
    accesses in a 3-way or higher join where constraints on the virtual
    table are split across two or more other terms of the join.








<li>Reduce the amount of memory needed to hold the schema.


<p><b>New Features:</b>
<li>Added the [SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER] option to [sqlite3_db_config()]
    which allows the two-argument version of the [fts3_tokenizer()] SQL function to
    be enabled or disabled at run-time.


<li>The [PRAGMA defer_foreign_keys=ON] statement now also disables 
    [foreign key actions|RESTRICT actions] on foreign key.
<li>Added the [SQLITE_DEFAULT_SYNCHRONOUS] and [SQLITE_DEFAULT_WAL_SYNCHRONOUS]
    compile-time options.  The [SQLITE_DEFAULT_SYNCHRONOUS] compile-time option
    replaces the [SQLITE_EXTRA_DURABLE] option, which is no longer supported.


<p><b>Bug fixes:</b>
<li>Make sure the [sqlite3_set_auxdata()] values from multiple triggers
    within a single statement do not interfere with one another.
    Fix for ticket [https://www.sqlite.org/src/info/dc9b1c91|dc9b1c91].
<li>Fix the code generator for expression of the form "x IN (SELECT...)" where
    the SELECT statement on the RHS is a correlated subquery.
    For for ticket [https://www.sqlite.org/src/info/5e3c886796e5512e|5e3c886796e5512e].

}

chng {2016-03-03 (3.11.1)} {
<li>Improvements to the Makefiles and build scripts used by VisualStudio.
<li>Fix an [FTS5] issue in which the 'optimize' command could cause index corruption.
<li>Fix a buffer overread that might occur if [FTS5] is used to query a corrupt
    database file.







|


|





|
|
|










|
>
>
>
>
>
>
>
>

>
>




>
>





>
>



|
|

|
>







17
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
proc chng {date desc {options {}}} {
  global nChng aChng
  set aChng($nChng) [list $date $desc $options]
  incr nChng
}

chng {2016-04-00 (3.12.0)} {
<p><b>Potentially Disruptive Change:</b>
<li>The [SQLITE_DEFAULT_PAGE_SIZE] is increased from 1024 to 4096.  
    The [SQLITE_DEFAULT_CACHE_SIZE] is changed from 2000 to -2000 so 
    the same amount of cache memory is used by default.
    See the application note on the
    [version 3.12.0 page size change] for further information.
<p><b>Performance enhancements:</b>
<li>Enhancements to the [https://www.sqlite.org/src/doc/trunk/doc/lemon.html|Lemon]
    parser generator so that it creates a smaller and faster SQL parser.
<li>Only create [master journal] files if two or more attached databases are all
    modified, do not have [PRAGMA synchronous] set to OFF, and
    do not have the [journal_mode] set to OFF, MEMORY, or WAL.
<li>Only create [statement journal] files when their size exceeds a threshold.
    Otherwise the journal is held in memory and no I/O occurs.  The threshold
    can be configured at compile-time using [SQLITE_STMTJRNL_SPILL] or at
    start-time using [sqlite3_config]([SQLITE_CONFIG_STMTJRNL_SPILL]).
<li>The query planner is able to optimize IN operators on [virtual tables]
    even if the [xBestIndex] method does not set the
    sqlite3_index_constraint_usage.omit flag of the
    virtual table column to the left of the IN operator.
<li>The query planner now does a better job of optimizing [virtual table]
    accesses in a 3-way or higher join where constraints on the virtual
    table are split across two or more other tables of the join.
<li>More efficient handling of [application-defined SQL functions], especially
    in cases where the application defines hundreds or thousands of 
    custom functions.
<li>The query planner considers the LIMIT clause when estimating the cost
    or ORDER BY.
<li>The configure script (on unix) automatically detects the availablity of
    pread() and pwrite() and sets of compile-time options to use those OS
    interfaces if they are available.
<li>Reduce the amount of memory needed to hold the schema.
<li>Other miscellanous micro-optimizations for improved performance and reduced
    memory usage.
<p><b>New Features:</b>
<li>Added the [SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER] option to [sqlite3_db_config()]
    which allows the two-argument version of the [fts3_tokenizer()] SQL function to
    be enabled or disabled at run-time.
<li>Added the [https://www.sqlite.org/src/artifact/d7cc99350?ln=403-443|sqlite3rbu_bp_progress()]
    interface to the [RBU] extension.
<li>The [PRAGMA defer_foreign_keys=ON] statement now also disables 
    [foreign key actions|RESTRICT actions] on foreign key.
<li>Added the [SQLITE_DEFAULT_SYNCHRONOUS] and [SQLITE_DEFAULT_WAL_SYNCHRONOUS]
    compile-time options.  The [SQLITE_DEFAULT_SYNCHRONOUS] compile-time option
    replaces the [SQLITE_EXTRA_DURABLE] option, which is no longer supported.
<li>Enhanced the ".stats" command in the [command-line shell] to show more
    information about I/O performance obtained from /proc, when available.
<p><b>Bug fixes:</b>
<li>Make sure the [sqlite3_set_auxdata()] values from multiple triggers
    within a single statement do not interfere with one another.
    Ticket [https://www.sqlite.org/src/info/dc9b1c91|dc9b1c91].
<li>Fix the code generator for expressions of the form "x IN (SELECT...)" where
    the SELECT statement on the RHS is a correlated subquery.
    Ticket [https://www.sqlite.org/src/info/5e3c886796e5512e|5e3c886796e5512e].
<li>Fix a harmless TSAN warning associated with the [sqlite3_db_readonly()] interface.
}

chng {2016-03-03 (3.11.1)} {
<li>Improvements to the Makefiles and build scripts used by VisualStudio.
<li>Fix an [FTS5] issue in which the 'optimize' command could cause index corruption.
<li>Fix a buffer overread that might occur if [FTS5] is used to query a corrupt
    database file.