diff options
Diffstat (limited to 'www/releaselog/current.html')
-rw-r--r-- | www/releaselog/current.html | 135 |
1 files changed, 41 insertions, 94 deletions
diff --git a/www/releaselog/current.html b/www/releaselog/current.html index 4e6d9e3..5996306 100644 --- a/www/releaselog/current.html +++ b/www/releaselog/current.html @@ -3,7 +3,7 @@ <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.45.3 On 2024-04-15</title> +<title>SQLite Release 3.46.0 On 2024-05-23</title> <!-- path=../ --> </head> <body> @@ -115,106 +115,53 @@ antiRobotGo(); } antiRobotDefense(); </script> -<h2>SQLite Release 3.45.3 On 2024-04-15</h2><p><b>Prior changes from version 3.45.0 (2024-01-15):</b></p> -<p><ol class='lessindent'> -<li value='1'> Added the <a href="../c3ref/c_deterministic.html#sqliteresultsubtype">SQLITE_RESULT_SUBTYPE</a> property for - <a href="../appfunc.html">application-defined SQL functions</a>. - All application defined SQL functions that invokes - <a href="../c3ref/result_subtype.html">sqlite3_result_subtype()</a> must be registered with this new property. - Failure to do so might cause the call to sqlite3_result_subtype() to - behave as a no-op. Compile with <a href="../compile.html#strict_subtype">-DSQLITE_STRICT_SUBTYPE=1</a> to cause an - SQL error to be raised if a function that is not <a href="../c3ref/c_deterministic.html#sqliteresultsubtype">SQLITE_RESULT_SUBTYPE</a> - tries invokes <a href="../c3ref/result_subtype.html">sqlite3_result_subtype()</a>. The use of <a href="../compile.html#strict_subtype">-DSQLITE_STRICT_SUBTYPE=1</a> - is a recommended compile-time option for every application that makes - use of subtypes. -<li> Enhancements to the <a href="../json1.html">JSON SQL functions</a>: - <ol type="a"> - <li> All JSON functions are rewritten to use a new internal parse tree - format called <a href="../json1.html#jsonbx">JSONB</a>. The new parse-tree format is serializable - and hence can be stored in the database to avoid unnecessary re-parsing - whenever the JSON value is used. - <li> New versions of JSON-generating functions generate binary JSONB instead - of JSON text. - <li> The <a href="../json1.html#jvalid">json_valid()</a> function adds an optional second argument that - specifies what it means for the first argument to be "well-formed". - </ol> -<li> Add the <a href="../fts5.html#the_tokendata_option">FTS5 tokendata option</a> to the <a href="../fts5.html">FTS5</a> virtual table. -<li> The <a href="../compile.html#direct_overflow_read">SQLITE_DIRECT_OVERFLOW_READ</a> optimization is now enabled by default. - Disable it at compile-time using -DSQLITE_DIRECT_OVERFLOW_READ=0. -<li> Query planner improvements: +<h2>SQLite Release 3.46.0 On 2024-05-23</h2><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> Do not allow the transitive constraint optimization to trick the - query planner into using a range constraint when a better equality - constraint is available. - (<a href="https://sqlite.org/forum/forumpost/2568d1f6e6">Forum post 2568d1f6e6</a>.) - <li> The query planner now does a better job of disregarding - indexes that <a href="../lang_analyze.html">ANALYZE</a> identifies as low-quality. - (<a href="https://sqlite.org/forum/forumpost/6f0958b03b">Forum post 6f0958b03b</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> Increase the default value for <a href="../limits.html#max_page_count">SQLITE_MAX_PAGE_COUNT</a> from 1073741824 to - 4294967294. -<li> Enhancements to the <a href="../cli.html">CLI</a>: +<li> Enhancements to the <a href="../lang_datefunc.html">date and time functions</a>: <ol type="a"> - <li> Improvements to the display of UTF-8 content on Windows - <li> Automatically detect playback of ".dump" scripts and make appropriate - changes to settings such as ".dbconfig defensive off" and - ".dbconfig dqs_dll on". + <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> -</ol> -<p><b>Prior changes from version 3.45.1 (2024-01-30):</b></p> -<p><ol class='lessindent'> -<li value='8'> Restore the <a href="../json1.html#jblobbug">JSON BLOB input bug</a>, and promise to support the anomaly in - subsequent releases, for backward compatibility. -<li> Fix the <a href="../pragma.html#pragma_integrity_check">PRAGMA integrity_check</a> command so that it works on read-only - databases that contain FTS3 and FTS5 tables. This resolves an issue - introduced in <a href="../releaselog/3_44_0.html">version 3.44.0</a> but was undiscovered until after the 3.45.0 release. -<li> Fix issues associated with processing corrupt <a href="../json1.html#jsonbx">JSONB</a> inputs: +<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> Prevent exponential runtime when converting a corrupt JSONB into text. - <li> Fix a possible read of one byte past the end of the JSONB blob when converting - a corrupt JSONB into text. - <li> Enhanced testing using <a href="../testing.html#dbsqlfuzz">jfuzz</a> to prevent any future JSONB problems such - as the above. + <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> Fix a long-standing bug in which a read of a few bytes past the end of a - memory-mapped segment might occur when accessing a craftily corrupted database - using <a href="../pragma.html#pragma_mmap_size">memory-mapped database</a>. -<li> Fix a long-standing bug in which a NULL pointer dereference might occur in - the <a href="../opcode.html">bytecode engine</a> due to incorrect bytecode being generated for a class - of SQL statements that are deliberately designed to stress the query planner - but which are otherwise pointless. - -</ol> -<p><b>Prior changes from version 3.45.2 (2024-03-12):</b></p> -<p><ol class='lessindent'> -<li value='13'> Fix an error in <a href="../lang_upsert.html">UPSERT</a>, introduced by enhancement 3a in <a href="../releaselog/3_35_0.html">version 3.35.0</a> - (2021-03-12), that could cause an index to get out-of-sync with its table. - <a href="https://sqlite.org/forum/forumpost/919c6579c8">Forum thread 919c6579c8</a>. -<li> Reduce the scope of the NOT NULL strength reduction optimization that was - added as item 8e in <a href="../releaselog/3_35_0.html">version 3.35.0</a> (2021-03-12). The optimization - was being attempted in some contexts where it did not work, resulting in - incorrect query results. - <a href="https://sqlite.org/forum/forumpost/440f2a2f17">Forum thread 440f2a2f17</a>. -<li> Other trifling corrections and compiler warning fixes that have come up - since the previous patch release. See the - <a href="https://sqlite.org/src/timeline?from=version-3.45.1&to=version-3.45.2&to2=branch-3.45">timeline</a> - for details. -</ol> -<p><b>Changes in this specific patch release, version 3.45.3 (2024-04-15):</b></p> -<p><ol class='lessindent'> -<li value='16'> Fix a long-standing bug (going back to <a href="../releaselog/3_24_0.html">version 3.24.0</a>) - that might (rarely) cause the "old.*" values of an <a href="../lang_createtrigger.html">UPDATE trigger</a> - to be incorrect if that trigger fires in response to an <a href="../lang_upsert.html">UPSERT</a>. - <a href="https://sqlite.org/forum/forumpost/284955a3cd454a15">Forum post 284955a3cd454a15</a>. -<li> Fix a bug in <a href="../lang_aggfunc.html#sumunc">sum()</a> that could cause it to return NULL when it should return - Infinity. <a href="https://sqlite.org/forum/forumpost/23b8688ef4">Forum post 23b8688ef4</a>. -<li> Other trifling corrections and compiler warning fixes that have come up - since the previous patch release. See the - <a href="https://sqlite.org/src/timeline?from=version-3.45.2&to=version-3.45.3&to2=branch-3.45">timeline</a> - for details. +<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-04-15 13:34:05 8653b758870e6ef0c98d46b3ace27849054af85da891eb121e9aaa537f1e8355 -<li>SHA3-256 for sqlite3.c: 21dbe688a71b449d28e2a8ec6a43e7520e54df456e02b6d4f6a1d1c7a998c826 +<li>SQLITE_SOURCE_ID: 2024-05-23 13:25:27 96c92aba00c8375bc32fafcdf12429c58bd8aabfcadab6683e35bbb9cdebf19e +<li>SHA3-256 for sqlite3.c: 094429ea827fcd32275e767134bc6c7b9ea394a2c5a9e653dd0a0690b2c11358 </ol></p> |