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 185 186 187 188
|
<!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.4.3 On 2014-04-03</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.4.3 On 2014-04-03</h2><p><b>Prior changes from version 3.8.4 (2014-03-10):</b></p>
<p><ol class='lessindent'>
<li value='1'>Code optimization and refactoring for improved performance.
<li>Add the ".clone" and ".save" commands to the command-line shell.
<li>Update the banner on the command-line shell to alert novice users when they
are using an ephemeral in-memory database.
<li>Fix editline support in the command-line shell.
<li>Add support for coverage testing of VDBE programs using the
<a href="../c3ref/c_testctrl_always.html">SQLITE_TESTCTRL_VDBE_COVERAGE</a> verb of <a href="../c3ref/test_control.html">sqlite3_test_control()</a>.
<li>Update the _FILE_OFFSET_BITS macro so that builds work again on QNX.
<li>Change the datatype of SrcList.nSrc from type u8 to type int to work around
an issue in the C compiler on AIX.
<li>Get extension loading working on Cygwin.
<li>Bug fix: Fix the <a href="../lang_corefunc.html#char">char()</a> SQL function so that it returns an empty string
rather than an "out of memory" error when called with zero arguments.
<li>Bug fix: DISTINCT now recognizes that a <a href="../lang_corefunc.html#zeroblob">zeroblob</a> and a blob of all
0x00 bytes are the same thing.
<a href="https://www.sqlite.org/src/info/fccbde530a">Ticket [fccbde530a]</a>
<li>Bug fix: Compute the correct answer for queries that contain an IS NOT NULL
term in the WHERE clause and also contain an OR term in the WHERE clause and
are compiled with <a href="../compile.html#enable_stat4">SQLITE_ENABLE_STAT4</a>.
<a href="https://www.sqlite.org/src/info/4c86b126f2">Ticket [4c86b126f2]</a>
<li>Bug fix: Make sure "rowid" columns are correctly resolved in joins between
normal tables and WITHOUT ROWID tables.
<a href="https://www.sqlite.org/src/info/c34d0557f7">Ticket [c34d0557f7]</a>
<li>Bug fix: Make sure the same temporary registers are not used in concurrent
co-routines used to implement compound SELECT statements containing ORDER
BY clauses, as such use can lead to incorrect answers.
<a href="https://www.sqlite.org/src/info/8c63ff0eca">Ticket [8c63ff0eca]</a>
<li>Bug fix: Ensure that "ORDER BY random()" clauses do not get optimized out.
<a href="https://www.sqlite.org/src/info/65bdeb9739">Ticket [65bdeb9739]</a>
<li>Bug fix: Repair a name-resolution error that can occur in sub-select statements
contained within a TRIGGER.
<a href="https://www.sqlite.org/src/info/4ef7e3cfca">Ticket [4ef7e3cfca]</a>
<li>Bug fix: Fix column default values expressions of the form
"DEFAULT(-(-9223372036854775808))" so that they work correctly, initializing
the column to a floating point value approximately equal to
+9223372036854775808.0.
</ol>
<p><b>Prior changes from version 3.8.4.1 (2014-03-11):</b></p>
<p><ol class='lessindent'>
<li value='17'>Work around a C-preprocessor macro conflict that breaks the build for some
configurations with Microsoft Visual Studio.
<li>When computing the cost of the <a href="../optoverview.html#skipscan">skip-scan optimization</a>, take into account the
fact that multiple seeks are required.
</ol>
<p><b>Prior changes from version 3.8.4.2 (2014-03-26):</b></p>
<p><ol class='lessindent'>
<li value='19'>Fix a potential buffer overread that could result when trying to search a
corrupt database file.
</ol>
<p><b>Changes in this specific patch release, version 3.8.4.3 (2014-04-03):</b></p>
<p><ol class='lessindent'>
<li value='20'>Add a
<a href="https://www.sqlite.org/src/fdiff?sbs=1&v1=7d539cedb1c&v2=ebad891b7494d&smhdr">one-character fix</a>
for a problem that might cause incorrect query results on a query that mixes
DISTINCT, GROUP BY in a subquery, and ORDER BY.
<a href="https://www.sqlite.org/src/info/98825a79ce1456863">Ticket 98825a79ce14</a>.
<li>SQLITE_SOURCE_ID: "2014-04-03 16:53:12 a611fa96c4a848614efe899130359c9f6fb889c3"
<li>SHA1 for sqlite3.c: 310a1faeb9332a3cd8d1f53b4a2e055abf537bdc
</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>
|