 
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):
-  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.
-  Enhancements to the JSON SQL functions:
    
    -  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.
    
-  New versions of JSON-generating functions generate binary JSONB instead
         of JSON text.
    
-  The json_valid() function adds an optional second argument that
         specifies what it means for the first argument to be "well-formed".
    
 
-  Add the FTS5 tokendata option to the FTS5 virtual table.
-  The SQLITE_DIRECT_OVERFLOW_READ optimization is now enabled by default.
     Disable it at compile-time using -DSQLITE_DIRECT_OVERFLOW_READ=0.
-  Query planner improvements:
     
     -  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.)
     
-  The query planner now does a better job of disregarding
          indexes that ANALYZE identifies as low-quality.
          (Forum post 6f0958b03b.)
     
 
-  Increase the default value for SQLITE_MAX_PAGE_COUNT from 1073741824 to
     4294967294.
-  Enhancements to the CLI:
     
     -  Improvements to the display of UTF-8 content on Windows
     
-  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):
-  Restore the JSON BLOB input bug, and promise to support the anomaly in
     subsequent releases, for backward compatibility.
-  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.
-  Fix issues associated with processing corrupt JSONB inputs:
     
     -  Prevent exponential runtime when converting a corrupt JSONB into text.
     
-  Fix a possible read of one byte past the end of the JSONB blob when converting
          a corrupt JSONB into text.
     
-  Enhanced testing using jfuzz to prevent any future JSONB problems such
          as the above.
     
 
-  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.
-  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):
-  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.
-  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.
-  Other trifling corrections and compiler warning fixes that have come up
     since the previous patch release.  See the
     timeline
     for details.
Hashes:
 
- SQLITE_SOURCE_ID: "2024-03-12 11:06:23 d8cd6d49b46a395b13955387d05e9e1a2a47e54fb99f3c9b59835bbefad6af77"
- 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.