From 8cb0288fa14ba73d0f6eea982bb7d30414460bfb Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 13 Apr 2024 16:07:38 +0200 Subject: Merging upstream version 3.45.2. Signed-off-by: Daniel Baumann --- www/releaselog/3_45_2.html | 215 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 215 insertions(+) create mode 100644 www/releaselog/3_45_2.html (limited to 'www/releaselog/3_45_2.html') diff --git a/www/releaselog/3_45_2.html b/www/releaselog/3_45_2.html new file mode 100644 index 0000000..a1e2ce6 --- /dev/null +++ b/www/releaselog/3_45_2.html @@ -0,0 +1,215 @@ + + + + + +SQLite Release 3.45.2 On 2024-03-12 + + + +
+ + + +
+
+Small. Fast. Reliable.
Choose any three. +
+ + +
+
+ + + +
+
+
+ +

SQLite Release 3.45.2 On 2024-03-12

Prior changes from version 3.45.0 (2024-01-15):

+

    +
  1. Added the SQLITE_RESULT_SUBTYPE property for + application-defined SQL functions. + All application defined SQL functions that invokes + sqlite3_result_subtype() 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 -DSQLITE_STRICT_SUBTYPE=1 to cause an + SQL error to be raised if a function that is not SQLITE_RESULT_SUBTYPE + tries invokes sqlite3_result_subtype(). The use of -DSQLITE_STRICT_SUBTYPE=1 + is a recommended compile-time option for every application that makes + use of subtypes. +
  2. Enhancements to the JSON SQL functions: +
      +
    1. All JSON functions are rewritten to use a new internal parse tree + format called JSONB. 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. +
    2. New versions of JSON-generating functions generate binary JSONB instead + of JSON text. +
    3. The json_valid() function adds an optional second argument that + specifies what it means for the first argument to be "well-formed". +
    +
  3. Add the FTS5 tokendata option to the FTS5 virtual table. +
  4. The SQLITE_DIRECT_OVERFLOW_READ optimization is now enabled by default. + Disable it at compile-time using -DSQLITE_DIRECT_OVERFLOW_READ=0. +
  5. Query planner improvements: +
      +
    1. Do not allow the transitive constraint optimization to trick the + query planner into using a range constraint when a better equality + constraint is available. + (Forum post 2568d1f6e6.) +
    2. The query planner now does a better job of disregarding + indexes that ANALYZE identifies as low-quality. + (Forum post 6f0958b03b.) +
    +
  6. Increase the default value for SQLITE_MAX_PAGE_COUNT from 1073741824 to + 4294967294. +
  7. Enhancements to the CLI: +
      +
    1. Improvements to the display of UTF-8 content on Windows +
    2. Automatically detect playback of ".dump" scripts and make appropriate + changes to settings such as ".dbconfig defensive off" and + ".dbconfig dqs_dll on". +
    +
+

Prior changes from version 3.45.1 (2024-01-30):

+

    +
  1. Restore the JSON BLOB input bug, and promise to support the anomaly in + subsequent releases, for backward compatibility. +
  2. Fix the PRAGMA integrity_check command so that it works on read-only + databases that contain FTS3 and FTS5 tables. This resolves an issue + introduced in version 3.44.0 but was undiscovered until after the 3.45.0 release. +
  3. Fix issues associated with processing corrupt JSONB inputs: +
      +
    1. Prevent exponential runtime when converting a corrupt JSONB into text. +
    2. Fix a possible read of one byte past the end of the JSONB blob when converting + a corrupt JSONB into text. +
    3. Enhanced testing using jfuzz to prevent any future JSONB problems such + as the above. +
    +
  4. 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 memory-mapped database. +
  5. Fix a long-standing bug in which a NULL pointer dereference might occur in + the bytecode engine 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. + +
+

Changes in this specific patch release, version 3.45.2 (2024-03-12):

+

    +
  1. Fix an error in UPSERT, introduced by enhancement 3a in version 3.35.0 + (2021-03-12), that could cause an index to get out-of-sync with its table. + Forum thread 919c6579c8. +
  2. Reduce the scope of the NOT NULL strength reduction optimization that was + added as item 8e in version 3.35.0 (2021-03-12). The optimization + was being attempted in some contexts where it did not work, resulting in + incorrect query results. + Forum thread 440f2a2f17. +
  3. Other trifling corrections and compiler warning fixes that have come up + since the previous patch release. See the + timeline + for details. +

    Hashes: +

  4. SQLITE_SOURCE_ID: "2024-03-12 11:06:23 d8cd6d49b46a395b13955387d05e9e1a2a47e54fb99f3c9b59835bbefad6af77" +
  5. SHA3-256 for sqlite3.c: bd76ad2dc9cde151e469e86627a7e8753aa8ef1a6f657c5a80ba48324b53226b + +

+ +

A complete list of SQLite releases + in a single page and a chronology are both also available. + A detailed history of every + check-in is available at + + SQLite version control site.

+ + -- cgit v1.2.3