DBMS SQLite 3.45 Released

Published on the SQLite website is the release of SQLite 3.45, a lightweight database management system in the form of a connected library. SQLite is distributed as public domain software, meaning it can be used freely and without any restrictions. Financial support for the development of SQLite is provided by a consortium of companies including Bentley, Bloomberg, Expensification, and Navigation Data Standard.

The main changes in this release include:

  • All SQL functions for working with the JSON format have been rewritten and transferred to a new internal format called jsonb. This format is serialized and can be stored in the database, eliminating the need for re-analysis when using JSON values. The new versions of the functions that generate JSON now produce a jsonb binary format instead of text. The function json_valid() has also been updated to include an optional second argument for setting a bitmask that determines the expected JSON format.
  • In the virtual table fts5, which is used for full-text search, the tokendata option has been added. This option allows users to use their own custom tokenizers.
  • The optimization of sqlite_direct_overflow_read, which allows reading overflow pages directly from the file instead of cache, is now enabled by default. Users can disable this feature during assembly using the option “-DSQLITE_DIRECT_OVERFLOW_READ = 0”.
  • The efficiency of transit constraints and the handling of low-quality indices during the Analyze operation have been improved in the query scheduler.
  • Improvements have been made to the command line interface, particularly for handling UTF-8 encoding on the Windows platform. Automatic detection of the CLI interface when executing scripts like “DUMP” has been enhanced, and corresponding settings such as “Derdbconfig Defensive Off” and “.dbconfig DQS_DLLL ON” have been adjusted.
  • A new property called sqlite_result_subtype has been added to the SQL function. This property allows users to inspect the subtypes of arguments by calling SQLITE3_RESULT_SUBTYPE() from the function.

For more details, you can refer to the SQLite release notes and the list of changes in version 3.45.

/Reports, release notes, official announcements.