blob: dc79f105ae8e0e1f6f5af9d3d181a9142113caaf (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
|
<!DOCTYPE html>
<html><head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<link href="../sqlite.css" rel="stylesheet">
<title>SQLite Release 3.8.5 On 2014-06-04</title>
<!-- path=../ -->
</head>
<body>
<div class=nosearch>
<a href="../index.html">
<img class="logo" src="../images/sqlite370_banner.gif" alt="SQLite" border="0">
</a>
<div><!-- IE hack to prevent disappearing logo --></div>
<div class="tagline desktoponly">
Small. Fast. Reliable.<br>Choose any three.
</div>
<div class="menu mainmenu">
<ul>
<li><a href="../index.html">Home</a>
<li class='mobileonly'><a href="javascript:void(0)" onclick='toggle_div("submenu")'>Menu</a>
<li class='wideonly'><a href='../about.html'>About</a>
<li class='desktoponly'><a href="../docs.html">Documentation</a>
<li class='desktoponly'><a href="../download.html">Download</a>
<li class='wideonly'><a href='../copyright.html'>License</a>
<li class='desktoponly'><a href="../support.html">Support</a>
<li class='desktoponly'><a href="../prosupport.html">Purchase</a>
<li class='search' id='search_menubutton'>
<a href="javascript:void(0)" onclick='toggle_search()'>Search</a>
</ul>
</div>
<div class="menu submenu" id="submenu">
<ul>
<li><a href='../about.html'>About</a>
<li><a href='../docs.html'>Documentation</a>
<li><a href='../download.html'>Download</a>
<li><a href='../support.html'>Support</a>
<li><a href='../prosupport.html'>Purchase</a>
</ul>
</div>
<div class="searchmenu" id="searchmenu">
<form method="GET" action="../search">
<select name="s" id="searchtype">
<option value="d">Search Documentation</option>
<option value="c">Search Changelog</option>
</select>
<input type="text" name="q" id="searchbox" value="">
<input type="submit" value="Go">
</form>
</div>
</div>
<script>
function toggle_div(nm) {
var w = document.getElementById(nm);
if( w.style.display=="block" ){
w.style.display = "none";
}else{
w.style.display = "block";
}
}
function toggle_search() {
var w = document.getElementById("searchmenu");
if( w.style.display=="block" ){
w.style.display = "none";
} else {
w.style.display = "block";
setTimeout(function(){
document.getElementById("searchbox").focus()
}, 30);
}
}
function div_off(nm){document.getElementById(nm).style.display="none";}
window.onbeforeunload = function(e){div_off("submenu");}
/* Disable the Search feature if we are not operating from CGI, since */
/* Search is accomplished using CGI and will not work without it. */
if( !location.origin || !location.origin.match || !location.origin.match(/http/) ){
document.getElementById("search_menubutton").style.display = "none";
}
/* Used by the Hide/Show button beside syntax diagrams, to toggle the */
function hideorshow(btn,obj){
var x = document.getElementById(obj);
var b = document.getElementById(btn);
if( x.style.display!='none' ){
x.style.display = 'none';
b.innerHTML='show';
}else{
x.style.display = '';
b.innerHTML='hide';
}
return false;
}
var antiRobot = 0;
function antiRobotGo(){
if( antiRobot!=3 ) return;
antiRobot = 7;
var j = document.getElementById("mtimelink");
if(j && j.hasAttribute("data-href")) j.href=j.getAttribute("data-href");
}
function antiRobotDefense(){
document.body.onmousedown=function(){
antiRobot |= 2;
antiRobotGo();
document.body.onmousedown=null;
}
document.body.onmousemove=function(){
antiRobot |= 2;
antiRobotGo();
document.body.onmousemove=null;
}
setTimeout(function(){
antiRobot |= 1;
antiRobotGo();
}, 100)
antiRobotGo();
}
antiRobotDefense();
</script>
<h2>SQLite Release 3.8.5 On 2014-06-04</h2><p><ol class='lessindent'>
<li>Added support for <a href="../queryplanner.html#partialsort">partial sorting by index</a>.
<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 <a href="../fts3.html#*fts4automergecmd">automerge command</a> of <a href="../fts3.html#fts4">FTS4</a> to better control the index size
for a full-text index that is subject to a large number of updates.
<li>Added the <a href="../rtree.html#xquery">sqlite3_rtree_query_callback()</a> interface to <a href="../rtree.html">R-Tree extension</a>
<li>Added new <a href="../uri.html#coreqp">URI query parameters</a> "nolock" and "immutable".
<li>Use less memory by not remembering CHECK constraints on read-only
database connections.
<li>Enable the <a href="../queryplanner.html#or_in_where">OR optimization</a> for <a href="../withoutrowid.html">WITHOUT ROWID</a> tables.
<li>Render expressions of the form "x IN (?)" (with a single value in
the list on the right-hand side of the IN operator) as if they where "x==?",
Similarly optimize "x NOT IN (?)"
<li>Add the ".system" and ".once" commands to the <a href="../cli.html">command-line shell</a>.
<li>Added the <a href="../c3ref/c_iocap_atomic.html">SQLITE_IOCAP_IMMUTABLE</a> bit to the set of bits that can be returned by
the xDeviceCharacteristics method of a <a href="../vfs.html">VFS</a>.
<li>Added the <a href="../c3ref/c_testctrl_always.html">SQLITE_TESTCTRL_BYTEORDER</a> test control.
<p><b>Bug Fixes:</b>
<li>OFFSET clause ignored on queries without a FROM clause.
Ticket <a href="https://www.sqlite.org/src/info/07d6a0453d">07d6a0453d</a>
<li>Assertion fault on queries involving expressions of the form
"x IN (?)". Ticket <a href="https://www.sqlite.org/src/info/e39d032577">e39d032577</a>.
<li>Incorrect column datatype reported.
Ticket <a href="https://www.sqlite.org/src/info/a8a0d2996a">a8a0d2996a</a>
<li>Duplicate row returned on a query against a table with more than
16 indices, each on a separate column, and all used via OR-connected constraints.
Ticket <a href="https://www.sqlite.org/src/info/10fb063b11">10fb063b11</a>
<li>Partial index causes assertion fault on UPDATE OR REPLACE.
Ticket <a href="https://www.sqlite.org/src/info/2ea3e9fe63">2ea3e9fe63</a>
<li>Crash when calling undocumented SQL function sqlite_rename_parent()
with NULL parameters.
Ticket <a href="https://www.sqlite.org/src/info/264b970c4379fd">264b970c43</a>
<li>ORDER BY ignored if the query has an identical GROUP BY.
Ticket <a href="https://www.sqlite.org/src/info/b75a9ca6b0499">b75a9ca6b0</a>
<li>The group_concat(x,'') SQL function returns NULL instead of an empty string
when all inputs are empty strings.
Ticket <a href="https://www.sqlite.org/src/info/55746f9e65f85">55746f9e65</a>
<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 <a href="https://www.sqlite.org/src/info/e9654505cfda9">e9654505cfd</a>
<li>Fix a problem in CSV import in the <a href="../cli.html">command-line shell</a>
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 the left-most column that contained
the <a href="../fts3.html#fts4notindexed">notindexed column</a> name as a prefix
was not indexed rather than the column whose name matched exactly.
<li>Fix the <a href="../c3ref/db_readonly.html">sqlite3_db_readonly()</a> interface so that it returns true if
the database is read-only due to the file format write version number
being too large.
<li>SQLITE_SOURCE_ID: "2014-06-04 14:06:34 b1ed4f2a34ba66c29b130f8d13e9092758019212"
<li>SHA1 for sqlite3.c: 7bc194957238c61b1a47f301270286be5bc5208c
</ol></p>
<p>A <a href="../changes.html">complete list of SQLite releases</a>
in a single page and a <a href="../chronology.html">chronology</a> are both also available.
A detailed history of every
check-in is available at
<a href="https://www.sqlite.org/src/timeline">
SQLite version control site</a>.</p>
|