diff options
Diffstat (limited to 'www/changes.html')
-rw-r--r-- | www/changes.html | 56 |
1 files changed, 53 insertions, 3 deletions
diff --git a/www/changes.html b/www/changes.html index 8defc25..f7954ca 100644 --- a/www/changes.html +++ b/www/changes.html @@ -129,6 +129,56 @@ https://www.sqlite.org/src/timeline?t=release</a>. See the <a href="chronology.html">chronology</a> a succinct listing of releases. </p> +<a name="version_3_46_0"></a> +<h3>2024-05-23 (3.46.0)</h3><p><ol class='lessindent'> +<li> Enhance <a href="pragma.html#pragma_optimize">PRAGMA optimize</a> in multiple ways, to make it + <a href="lang_analyze.html#pragopt">simpler to use</a>: + <ol type="a"> + <li> PRAGMA optimize automatically implements a temporary + <a href="pragma.html#pragma_analysis_limit">analysis limit</a> to prevent excess runtime + on large databases. + <li> Added the new 0x10000 bitmask option to check for updates on all tables. + <li> Automatically re-analyze tables that do not have sqlite_stat1 entries. + </ol> +<li> Enhancements to the <a href="lang_datefunc.html">date and time functions</a>: + <ol type="a"> + <li> The <a href="lang_datefunc.html#strftm">strftime() SQL function</a> now supports %G, %g, %U, and %V. + <li> New modifiers 'ceiling' and 'floor' control the algorithm used to + resolve <a href="lang_datefunc.html#dtambg">ambiguous dates</a> when shifting a date by an integer number + of months and/or years. + <li> The <a href="lang_datefunc.html#localtime">'utc' and 'localtime' modifiers</a> are now no-ops if SQLite knows + that the time is already in UTC or in the localtime, respectively. + </ol> +<li> Add support for underscore ("_") characters between digits in + <a href="lang_expr.html#litvalue">numeric literals</a>. +<li> Add the <a href="json1.html#jpretty">json_pretty()</a> SQL function. +<li> Query planner improvements: + <ol type="a"> + <li> The "VALUES-as-coroutine" optimization enables INSERT statements with + thousands of rows in the VALUES clause to parse and run in about half + the time and using about half as much memory. + <li> Allow the use of an index for queries like "SELECT count(DISTINCT col) FROM ...", + even if the index records are not smaller than the table records. + <li> Improved recognition of cases where the value of an SQL function is + constant because all its arguments are constant. + <li> Enhance the <a href="optoverview.html#pushdown">WHERE-clause push-down optimization</a> so that it is able to + push down WHERE clause terms containing uncorrelated subqueries. + </ol> +<li> Allocate additional memory from the heap for the SQL parser stack if + that stack overflows, rather than reporting a "parser stack overflow" error. +<li> JSON changes: + <ol type="a"> + <li> Allow ASCII control characters within JSON5 string literals. + <li> Fix <a href="json1.html#jptr">the -> and ->> operators</a> so that when the right-hand side operand is a string + that looks like an integer it is still treated as a string, because that is what + PostgreSQL does. + </ol> +<li> Allow large hexadecimal literals to be used as the DEFAULT value to a table column. +<p><b>Hashes:</b> +<li>SQLITE_SOURCE_ID: 2024-05-23 13:25:27 96c92aba00c8375bc32fafcdf12429c58bd8aabfcadab6683e35bbb9cdebf19e +<li>SHA3-256 for sqlite3.c: 094429ea827fcd32275e767134bc6c7b9ea394a2c5a9e653dd0a0690b2c11358 + +</ol></p> <a name="version_3_45_3"></a> <h3>2024-04-15 (3.45.3)</h3><p><ol class='lessindent'> <li> Fix a long-standing bug (going back to <a href="#version_3_24_0">version 3.24.0</a>) @@ -402,7 +452,7 @@ See the <a href="chronology.html">chronology</a> a succinct listing of releases. <ol type="a"> <li> Enable the "count-of-view" optimization by default. <li> Avoid computing unused columns in subqueries. - <li> Improvements to the <a href="optoverview.html#pushdown">push-down optimization</a>. + <li> Improvements to the <a href="optoverview.html#pushdown">WHERE-clause push-down optimization</a>. </ol> <li> Enhancements to the <a href="cli.html">CLI</a>: <ol type="a"> @@ -2757,7 +2807,7 @@ with a home-baked pie.</center> the table has one or more indexes that are able to trigger the OR optimization, but none of the indexes reference any table columns other than the INTEGER PRIMARY KEY. Ticket <a href="https://www.sqlite.org/src/info/16c9801ceba49">16c9801ceba49</a>. -<li>When checking for the WHERE-clause push-down optimization, verify that all terms +<li>When checking for the <a href="optoverview.html#pushdown">WHERE-clause push-down optimization</a>, verify that all terms of the compound inner SELECT are non-aggregate, not just the last term. Fix for ticket <a href="https://www.sqlite.org/src/info/f7f8c97e97597">f7f8c97e97597</a>. <li>Fix a locking race condition in Windows that can occur when two or more processes @@ -3110,7 +3160,7 @@ with a home-baked pie.</center> <a href="c3ref/initialize.html">sqlite3_initialize()</a> to help ensure that it is thread-safe. <li>Fix the <a href="optoverview.html#or_opt">OR optimization</a> so that it always ignores subplans that do not use an index. -<li>Do not apply the WHERE-clause pushdown optimization on terms that originate +<li>Do not apply the <a href="optoverview.html#pushdown">WHERE-clause push-down optimization</a> on terms that originate in the ON or USING clause of a LEFT JOIN. Fix for ticket <a href="https://www.sqlite.org/src/info/c2a19d81652f40568c">c2a19d81652f40568c</a>. |