Documentation Source Text

Check-in [3eab08af2c]
Login

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

Overview
Comment:Update the download page to support DLL snapshots. Update the change log for 3.8.5.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 3eab08af2ccfc557eff11cbe517b49857f439ff6
User & Date: drh 2014-05-26 22:49:52.356
Context
2014-05-26
23:16
Fixes the download of pre-release DLLs. (check-in: 57d62024df user: drh tags: trunk)
22:56
Update the download page to support DLL snapshots. (check-in: 3cfd0f3e9a user: drh tags: version-3.8.4.3)
22:49
Update the download page to support DLL snapshots. Update the change log for 3.8.5. (check-in: 3eab08af2c user: drh tags: trunk)
21:43
Fix typos and clarify the text on the Partial Sorting Using An Index section of queryplanner.html. (check-in: fee38cf31f user: drh tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to pages/changes.in.
15
16
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
proc chng {date desc {options {}}} {
  global nChng aChng
  set aChng($nChng) [list $date $desc $options]
  incr nChng
}

chng {2014-06-?? (3.8.5)} {
<li>Added support for [sorting subsets of the result]
    when the result comes out of the query
    engine already partially sorted.
<li>Enhance the query planner so that it always prefers an index that uses a superset of
    WHERE clause terms relative to some other index.
<li>Improvements to the [automerge command] of [FTS4] to better control the index size
    for a full-text index that is subject to a large number of updates.
<li>Added the [SQLITE_TESTCTRL_BYTEORDER] test control.
<li>Added the [sqlite3_rtree_query_callback()] interface to [R-Tree extension]
<li>Added the [SQLITE_IOCAP_IMMUTABLE] bit to the set of bits that can be returned by
    the xDeviceCharacteristics method of a [VFS].
<li>Added new [URI query parameters] "nolock" and "immutable".
<li>Use less memory by not remembering CHECK constraints on read-only
    database connections.

query<p><b>Bug Fixes:</b>
<li>OFFSET clause ignored on queries without a FROM clause.
    Ticket [http://www.sqlite.org/src/info/07d6a0453d | 07d6a0453d]
<li>Assertion fault on queries involving expressions of the form
    "x IN (?)".  Ticket [http://www.sqlite.org/src/info/e39d032577|e39d032577].
<li>Incorrect column datatype reported.
    Ticket [http://www.sqlite.org/src/info/a8a0d2996a | a8a0d2996a]







|
<
<











>







15
16
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
proc chng {date desc {options {}}} {
  global nChng aChng
  set aChng($nChng) [list $date $desc $options]
  incr nChng
}

chng {2014-06-?? (3.8.5)} {
<li>Added support for [partial sorting by index].


<li>Enhance the query planner so that it always prefers an index that uses a superset of
    WHERE clause terms relative to some other index.
<li>Improvements to the [automerge command] of [FTS4] to better control the index size
    for a full-text index that is subject to a large number of updates.
<li>Added the [SQLITE_TESTCTRL_BYTEORDER] test control.
<li>Added the [sqlite3_rtree_query_callback()] interface to [R-Tree extension]
<li>Added the [SQLITE_IOCAP_IMMUTABLE] bit to the set of bits that can be returned by
    the xDeviceCharacteristics method of a [VFS].
<li>Added new [URI query parameters] "nolock" and "immutable".
<li>Use less memory by not remembering CHECK constraints on read-only
    database connections.
<li>Enable the [or-connected-terms | OR optimization] for [WITHOUT ROWID] tables.
query<p><b>Bug Fixes:</b>
<li>OFFSET clause ignored on queries without a FROM clause.
    Ticket [http://www.sqlite.org/src/info/07d6a0453d | 07d6a0453d]
<li>Assertion fault on queries involving expressions of the form
    "x IN (?)".  Ticket [http://www.sqlite.org/src/info/e39d032577|e39d032577].
<li>Incorrect column datatype reported.
    Ticket [http://www.sqlite.org/src/info/a8a0d2996a | a8a0d2996a]
54
55
56
57
58
59
60









61
62
63
64
65
66
67
    when all inputs are empty strings.  
    Ticket [http://www.sqlite.org/src/info/55746f9e65f85 |  55746f9e65]
<li>Fix a bug in the VDBE code generator that caused crashes when
    doing an INSERT INTO ... SELECT statement where the number of columns
    being inserted is larger than the number of columns in the destination
    table.
    Ticket [http://www.sqlite.org/src/info/e9654505cfda9 | e9654505cfd]









}

chng {2014-04-03 (3.8.4.3)} {
<li>Add a 
    [http://www.sqlite.org/src/fdiff?sbs=1&v1=7d539cedb1c&v2=ebad891b7494d&smhdr|one-character fix]
    for a problem that might cause incorrect query results on a query that mixes
    DISTINCT, GROUP BY in a subquery, and ORDER BY.







>
>
>
>
>
>
>
>
>







53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
    when all inputs are empty strings.  
    Ticket [http://www.sqlite.org/src/info/55746f9e65f85 |  55746f9e65]
<li>Fix a bug in the VDBE code generator that caused crashes when
    doing an INSERT INTO ... SELECT statement where the number of columns
    being inserted is larger than the number of columns in the destination
    table.
    Ticket [http://www.sqlite.org/src/info/e9654505cfda9 | e9654505cfd]
<li>Fix a problem in CSV import in the [command-line shell]
    where if the leftmost field of the first row
    in the CSV file was both zero bytes in size and unquoted no data would
    be imported.
<li>Fix a problem in FTS4 where columns with names that are prefixes of any
    [FTS4 notindexed option | notindexed column] were also not indexed.
<li>Fix the [sqlite3_db_readonly()] interface so that it returns true if
    the database is read-only due to the file format write version number
    being too large.
}

chng {2014-04-03 (3.8.4.3)} {
<li>Add a 
    [http://www.sqlite.org/src/fdiff?sbs=1&v1=7d539cedb1c&v2=ebad891b7494d&smhdr|one-character fix]
    for a problem that might cause incorrect query results on a query that mixes
    DISTINCT, GROUP BY in a subquery, and ORDER BY.
Changes to pages/download.in.
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
  set ::pending_tag $tag
  set ::BG $bgcolor
  # hd_puts "<tr><td colspan=4><big><b>$title</b></big></td></tr>"
}

set Caution #fff1c8

Heading {Pre-release Source-Code Snapshots} {} $Caution


Product {snapshot/sqlite-amalgamation-DATE.zip} {
  This is a snapshot (as of VERSION) of the current SQLite source code under 
  development.
  See the <a href="http://www.sqlite.org/draft/releaselog/current.html">pending
  change log</a> or the







|







88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
  set ::pending_tag $tag
  set ::BG $bgcolor
  # hd_puts "<tr><td colspan=4><big><b>$title</b></big></td></tr>"
}

set Caution #fff1c8

Heading {Pre-release Snapshots} {} $Caution


Product {snapshot/sqlite-amalgamation-DATE.zip} {
  This is a snapshot (as of VERSION) of the current SQLite source code under 
  development.
  See the <a href="http://www.sqlite.org/draft/releaselog/current.html">pending
  change log</a> or the
117
118
119
120
121
122
123










124
125
126
127
128
129
130
}
Product {snapshot/sqlite-tea-DATE.zip} {
  This is a snapshot (as of VERSION) of the current SQLite code under 
  development, packaged and ready to build using the
  <a href="http://www.tcl.tk/doc/tea/">Tcl Extension Architecture (TEA)</a>.
  Use this snapshot for testing only.  This is not a release.
}










Product {snapshot/sqlite-shell-win32-x86-DATE.zip} {
  This is a snapshot (as of VERSION) build of the 
  [CLI | sqlite3.exe command-line shell]
  shell program for 32-bit windows.
}
Product {snapshot/sqlite-shell-win64-x64-DATE.zip} {
  This is a snapshot (as of VERSION) build of the 







>
>
>
>
>
>
>
>
>
>







117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
}
Product {snapshot/sqlite-tea-DATE.zip} {
  This is a snapshot (as of VERSION) of the current SQLite code under 
  development, packaged and ready to build using the
  <a href="http://www.tcl.tk/doc/tea/">Tcl Extension Architecture (TEA)</a>.
  Use this snapshot for testing only.  This is not a release.
}

Product snapshot/sqlite-dll-win32-x86-DATE.zip {
  This ZIP archive contains a DLL for the SQLite library snapshot as of VERSION for
  32-bit x86 processors using the Win32 API.
}
Product snapshot/sqlite-dll-win32-x64-DATE.zip {
  This ZIP archive contains a DLL for the SQLite library snapshot as of VERSION for
  64-bit x64 processors using the Win32 API.
}

Product {snapshot/sqlite-shell-win32-x86-DATE.zip} {
  This is a snapshot (as of VERSION) build of the 
  [CLI | sqlite3.exe command-line shell]
  shell program for 32-bit windows.
}
Product {snapshot/sqlite-shell-win64-x64-DATE.zip} {
  This is a snapshot (as of VERSION) build of the 
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
  This program is compatible with all versions of SQLite through VERSION
  and beyond.
}

Product YEAR/sqlite-dll-win32-x86-VVV.zip {
  This ZIP archive contains a DLL for the SQLite library version VERSION for
  32-bit x86 processors using the Win32 API.
  The DLL is built using [SQLITE_ENABLE_COLUMN_METADATA] so that it is
  suitable for use with Ruby on Rails.
}

Product YEAR/sqlite-dll-win32-x64-VVV.zip {
  This ZIP archive contains a DLL for the SQLite library version VERSION for
  64-bit x64 processors using the Win32 API.
}








<
<







226
227
228
229
230
231
232


233
234
235
236
237
238
239
  This program is compatible with all versions of SQLite through VERSION
  and beyond.
}

Product YEAR/sqlite-dll-win32-x86-VVV.zip {
  This ZIP archive contains a DLL for the SQLite library version VERSION for
  32-bit x86 processors using the Win32 API.


}

Product YEAR/sqlite-dll-win32-x64-VVV.zip {
  This ZIP archive contains a DLL for the SQLite library version VERSION for
  64-bit x64 processors using the Win32 API.
}

Changes to pages/queryplanner.in.
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686

<p>
The same basic algorithm is followed, except this time the matching rows
of the index are scanned from bottom to top instead of from top to bottom,
so that the states will appear in descending order.
</p>

<tcl>hd_fragment {partialsort}</tcl>
<h3>3.2 Partial Sorting Using An Index</h3>

<p>
Sometimes only part of an ORDER BY clause an be satisfied using indexes.
Consider, for example, the following query:
</p>








|







672
673
674
675
676
677
678
679
680
681
682
683
684
685
686

<p>
The same basic algorithm is followed, except this time the matching rows
of the index are scanned from bottom to top instead of from top to bottom,
so that the states will appear in descending order.
</p>

<tcl>hd_fragment {partialsort} {partial sorting by index}</tcl>
<h3>3.2 Partial Sorting Using An Index</h3>

<p>
Sometimes only part of an ORDER BY clause an be satisfied using indexes.
Consider, for example, the following query:
</p>