189 lines
8.5 KiB
HTML
189 lines
8.5 KiB
HTML
<!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.25.2 On 2018-09-25</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;
|
|
}
|
|
</script>
|
|
</div>
|
|
<h2>SQLite Release 3.25.2 On 2018-09-25</h2><p><b>Changes in version 3.25.0 (2018-09-15):</b></p>
|
|
<p><ol class='lessindent'>
|
|
<li value='1'> Add support for <a href="../windowfunctions.html">window functions</a>
|
|
<li> Enhancements the <a href="../lang_altertable.html">ALTER TABLE</a> command:
|
|
<ol type="a">
|
|
<li> Add support for renaming columns within a table using
|
|
ALTER TABLE <i>table</i> RENAME COLUMN <i>oldname</i> TO <i>newname</i>.
|
|
<li> Fix table rename feature so that it also updates references
|
|
to the renamed table in <a href="../lang_createtrigger.html">triggers</a> and <a href="../lang_createview.html">views</a>.
|
|
</ol>
|
|
<li> Query optimizer improvements:
|
|
<ol type="a">
|
|
<li> Avoid unnecessary loads of columns in an aggregate query that
|
|
are not within an aggregate function and that are not part
|
|
of the GROUP BY clause.
|
|
<li> The IN-early-out optimization: When doing a look-up on a
|
|
multi-column index and an IN operator is used on a column
|
|
other than the left-most column, then if no rows match against
|
|
the first IN value, check to make sure there exist rows that
|
|
match the columns to the right before continuing with the
|
|
next IN value.
|
|
<li> Use the transitive property to try to propagate constant
|
|
values within the WHERE clause. For example, convert
|
|
"a=99 AND b=a" into "a=99 AND b=99".
|
|
</ol>
|
|
<li> Use a separate mutex on every inode in the unix <a href="../vfs.html">VFS</a>, rather than
|
|
a single mutex shared among them all, for slightly better concurrency
|
|
in multi-threaded environments.
|
|
<li> Enhance the <a href="../pragma.html#pragma_integrity_check">PRAGMA integrity_check</a> command for improved detection
|
|
of problems on the page freelist.
|
|
<li> Output infinity as 1e999 in the ".dump" command of the
|
|
<a href="../cli.html">command-line shell</a>.
|
|
<li> Added the <a href="../c3ref/c_fcntl_begin_atomic_write.html#sqlitefcntldataversion">SQLITE_FCNTL_DATA_VERSION</a> file-control.
|
|
<li> Added the <a href="../geopoly.html">Geopoly module</a>
|
|
<p><b>Bug fixes:</b>
|
|
<li> The ORDER BY LIMIT optimization might have caused an infinite loop
|
|
in the byte code of the prepared statement under very obscure
|
|
circumstances,
|
|
due to a confluence of minor defects in the query optimizer.
|
|
Fix for ticket
|
|
<a href="https://www.sqlite.org/src/info/9936b2fa443fec03ff25">9936b2fa443fec03ff25</a>
|
|
<li> On an UPSERT when the order of constraint checks is rearranged,
|
|
ensure that the affinity transformations on the inserted content
|
|
occur before any of the constraint checks. Fix for ticket
|
|
<a href="https://www.sqlite.org/src/info/79cad5e4b2e219dd197242e9e">79cad5e4b2e219dd197242e9e</a>.
|
|
<li> Avoid using a prepared statement for ".stats on" command of the
|
|
<a href="../cli.html">CLI</a> after it has been closed by the ".eqp full" logicc. Fix for ticket
|
|
<a href="https://www.sqlite.org/src/info/7be932dfa60a8a6b3b26bcf76">7be932dfa60a8a6b3b26bcf76</a>.
|
|
<li> The LIKE optimization was generating incorrect byte-code and hence
|
|
getting the wrong answer
|
|
if the left-hand operand has numeric affinity and the right-hand-side
|
|
pattern is '/%' or if the pattern begins with the ESCAPE character.
|
|
Fix for ticket
|
|
<a href="https://www.sqlite.org/src/info/c94369cae9b561b1f996d0054b">c94369cae9b561b1f996d0054b</a>
|
|
</ol>
|
|
<p><b>Additional changes in version 3.25.1 (2018-09-18):</b></p>
|
|
<p><ol class='lessindent'>
|
|
<li value='13'> Extra sanity checking added to ALTER TABLE in the 3.25.0 release
|
|
sometimes raises a false-positive
|
|
when the table being modified has a trigger that
|
|
updates a virtual table. The false-positive caused the ALTER
|
|
TABLE to rollback, thus leaving the schema unchanged.
|
|
Ticket <a href="https://sqlite.org/src/info/b41031ea2b537237">b41031ea2b537237</a>.
|
|
<li> The fix in the 3.25.0 release for the endless-loop in the byte-code
|
|
associated with the ORDER BY LIMIT optimization did not work for
|
|
some queries involving window functions. An additional correction
|
|
is required. Ticket
|
|
<a href="https://sqlite.org/src/info/510cde277783b5fb">510cde277783b5fb</a>
|
|
</ol>
|
|
<p><b>Additional changes in version 3.25.2:</b></p>
|
|
<p><ol class='lessindent'>
|
|
<li value='15'> Add the <a href="../pragma.html#pragma_legacy_alter_table">PRAGMA legacy_alter_table=ON</a> command that causes the
|
|
"ALTER TABLE RENAME" command to behave as it did in SQLite versions 3.24.0
|
|
and earlier: references to the renamed table inside the bodies of triggers
|
|
and views are not updated. This new pragma provides a compatibility
|
|
work around for older programs that expected the older, wonky behavior
|
|
of ALTER TABLE RENAME.
|
|
<li> Fix a problem with the new <a href="../windowfunctions.html">window functions</a> implementation that caused
|
|
a malfunction when complicated expressions involving window functions were used
|
|
inside of a view.
|
|
<li> Fixes for various other compiler warnings and minor problems associated
|
|
with obscure configurations.
|
|
<p><b>Hashes:</b>
|
|
<li>SQLITE_SOURCE_ID: "2018-09-25 19:08:10 fb90e7189ae6d62e77ba3a308ca5d683f90bbe633cf681865365b8e92792d1c7"
|
|
<li>SHA3-256 for sqlite3.c: 34c23ff91631ae10354f8c9d62fd7d65732b3d7f3acfd0bbae31ff4a62fe28af
|
|
|
|
</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="http://www.sqlite.org/src/timeline">
|
|
SQLite version control site</a>.</p>
|
|
|