summaryrefslogtreecommitdiffstats
path: root/www/releaselog/3_25_2.html
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-05 17:28:19 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-05 17:28:19 +0000
commit18657a960e125336f704ea058e25c27bd3900dcb (patch)
tree17b438b680ed45a996d7b59951e6aa34023783f2 /www/releaselog/3_25_2.html
parentInitial commit. (diff)
downloadsqlite3-18657a960e125336f704ea058e25c27bd3900dcb.tar.xz
sqlite3-18657a960e125336f704ea058e25c27bd3900dcb.zip
Adding upstream version 3.40.1.upstream/3.40.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'www/releaselog/3_25_2.html')
-rw-r--r--www/releaselog/3_25_2.html213
1 files changed, 213 insertions, 0 deletions
diff --git a/www/releaselog/3_25_2.html b/www/releaselog/3_25_2.html
new file mode 100644
index 0000000..7290aaa
--- /dev/null
+++ b/www/releaselog/3_25_2.html
@@ -0,0 +1,213 @@
+<!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;
+}
+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.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 (2018-09-25):</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>
+
+