Documentation Source Text

Check-in [6239ca41af]
Login

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

Overview
Comment:Updates to the change log, including a typo-fix from Ward Willats.
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 6239ca41af7edf3a62ca9b96eb5557f3e7e6ae45d59b75d145da5d6d3c74ac18
User & Date: drh 2017-10-11 18:22:05
Context
2017-10-12
13:55
Update document to show that the src/shell.c source file no longer exists in the canonical source repository and must now be generated from src/shell.c.in. check-in: beb03aaf56 user: drh tags: trunk
2017-10-11
18:22
Updates to the change log, including a typo-fix from Ward Willats. check-in: 6239ca41af user: drh tags: trunk
2017-10-09
12:54
Rewrite the footprint.html page to use recent measurements. check-in: 9934321f15 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
..
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
proc chng {date desc {options {}}} {
  global nChng aChng xrefChng
  set aChng($nChng) [list $date $desc $options]
  set xrefChng($date) $nChng
  incr nChng
}

chng {2017-11-01 (3.21.0)} {
<li> Take advantage of the atomic-write capabilities in the 
     [https://en.wikipedia.org/wiki/F2FS|F2FS filesystem] when available, for
     greatly reduced transaction overhead.  This currently requires the
     [SQLITE_ENABLE_BATCH_ATOMIC_WRITE] compile-time option.
<li> Allow [ATTACH] and [DETACH] commands to work inside of a transaction.
<li> Allow [WITHOUT ROWID virtual tables] to be writable if the PRIMARY KEY
     contains exactly one column.
................................................................................
<li> The "fsync()" that occurs after the header is written in a WAL reset
     now uses the sync settings for checkpoints.  This means it will use a
     "fullfsync" on macs if [PRAGMA checkpoint_fullfsync] set on.
<li> The [sqlite3_sourceid()] function tries to detect if the source code has
     been modified from what is checked into version control and if there are
     modifications, the last four characters of the version hash are shown as
     "alt1" or "alt2".  The objective is to detect accidental and/or careless
     edits.  A forger can subverted this feature.
     goal is to detect accidental edits.
<li> Improved de-quoting of column names for [CREATE TABLE AS] statements with
     an aggregate query on the right-hand side.
<li> Fewer "stat()" system calls issued by the unix VFS.
<li> Enhanced the [LIKE optimization] so that it works with an [ESCAPE] clause.
<li> Enhanced [PRAGMA integrity_check] and [PRAGMA quick_check] to detect obscure
     row corruption that they were formerly missing.  Also update both pragmas
     so that they return error text rather than SQLITE_CORRUPT when encountering
................................................................................
     the use of co-routines for subqueries may no longer be disabled.
<li> Pass information about !=, IS, IS NOT, NOT NULL, and IS NULL constraints
     into the [xBestIndex] method of virtual tables.
<li> Enhanced the [CSV virtual table] so that it accepts the last row of
     input if the final new-line character is missing.
<li> Remove the rarely-used "scratch" memory allocator.  Replace it with the
     [SQLITE_CONFIG_SMALL_MALLOC] configuration setting that gives SQLite
     a hint large memory allocations should be avoided when possible.
<li> Added the swarm virtual table to the existing union virtual table extension.
<li> Remove a call to rand_s() in the Windows VFS since it was causing problems
     in Firefox on some laptops.
<li> Miscellaneous [microoptimizations] reduce CPU usage by about 2.0%.
<li> Bug fixes:
<ol type="a">
<li> Fix a faulty assert() statement discovered by OSSFuzz.
     Ticket [https://sqlite.org/src/info/cb91bf4290c211d|cb91bf4290c211d]
<li> Fix an obscure memory leak in [sqlite3_result_pointer()].
     Ticket [https://sqlite.org/src/info/7486aa54b968e9b|7486aa54b968e9b]
<li> Avoid a possible use-after-free error by deferring schema resets until







|







 







|
<







 







|



|







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
..
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
proc chng {date desc {options {}}} {
  global nChng aChng xrefChng
  set aChng($nChng) [list $date $desc $options]
  set xrefChng($date) $nChng
  incr nChng
}

chng {2017-10-25 (3.21.0)} {
<li> Take advantage of the atomic-write capabilities in the 
     [https://en.wikipedia.org/wiki/F2FS|F2FS filesystem] when available, for
     greatly reduced transaction overhead.  This currently requires the
     [SQLITE_ENABLE_BATCH_ATOMIC_WRITE] compile-time option.
<li> Allow [ATTACH] and [DETACH] commands to work inside of a transaction.
<li> Allow [WITHOUT ROWID virtual tables] to be writable if the PRIMARY KEY
     contains exactly one column.
................................................................................
<li> The "fsync()" that occurs after the header is written in a WAL reset
     now uses the sync settings for checkpoints.  This means it will use a
     "fullfsync" on macs if [PRAGMA checkpoint_fullfsync] set on.
<li> The [sqlite3_sourceid()] function tries to detect if the source code has
     been modified from what is checked into version control and if there are
     modifications, the last four characters of the version hash are shown as
     "alt1" or "alt2".  The objective is to detect accidental and/or careless
     edits.  A forger can subvert this feature.

<li> Improved de-quoting of column names for [CREATE TABLE AS] statements with
     an aggregate query on the right-hand side.
<li> Fewer "stat()" system calls issued by the unix VFS.
<li> Enhanced the [LIKE optimization] so that it works with an [ESCAPE] clause.
<li> Enhanced [PRAGMA integrity_check] and [PRAGMA quick_check] to detect obscure
     row corruption that they were formerly missing.  Also update both pragmas
     so that they return error text rather than SQLITE_CORRUPT when encountering
................................................................................
     the use of co-routines for subqueries may no longer be disabled.
<li> Pass information about !=, IS, IS NOT, NOT NULL, and IS NULL constraints
     into the [xBestIndex] method of virtual tables.
<li> Enhanced the [CSV virtual table] so that it accepts the last row of
     input if the final new-line character is missing.
<li> Remove the rarely-used "scratch" memory allocator.  Replace it with the
     [SQLITE_CONFIG_SMALL_MALLOC] configuration setting that gives SQLite
     a hint that large memory allocations should be avoided when possible.
<li> Added the swarm virtual table to the existing union virtual table extension.
<li> Remove a call to rand_s() in the Windows VFS since it was causing problems
     in Firefox on some laptops.
<li> Miscellaneous [microoptimizations] reduce CPU usage by about 2.1%.
<li> Bug fixes:
<ol type="a">
<li> Fix a faulty assert() statement discovered by OSSFuzz.
     Ticket [https://sqlite.org/src/info/cb91bf4290c211d|cb91bf4290c211d]
<li> Fix an obscure memory leak in [sqlite3_result_pointer()].
     Ticket [https://sqlite.org/src/info/7486aa54b968e9b|7486aa54b968e9b]
<li> Avoid a possible use-after-free error by deferring schema resets until