Release of SQLite Database 3.40

SQLite 3.40 has been released, a lightweight database management system packaged as a shared library. SQLite code is released into the public domain, meaning it can be used freely and without restriction for any purpose. Financial support for the SQLite developers is provided by a specially formed consortium that includes companies such as Adobe, Oracle, Mozilla, Bentley, and Bloomberg.

Key Changes:

  • An experimental feature has been implemented to compile SQLite into WebAssembly intermediate code, which can run in web browsers and is suitable for database operations from web applications using JavaScript. Web developers are provided with a high-level object-oriented interface for working with data in the style of sql.js or Node.js, a wrapper around the low-level C API, and an API based on the Web Worker mechanism that allows for the creation of asynchronous handlers executed in separate threads. Data that web applications save in the WASM version of SQLite can be stored on the client side using OPFS (Origin-Private FileSystem) or the window.localStorage API.
  • A recovery extension has been added, designed to restore data from corrupted database files. In the command-line interface, the recovery command is used with the command " .recover".
  • The query planner's performance has been improved. Restrictions on the use of indexes with tables containing more than 63 columns have been removed (previously, indexing was not applied for operations involving columns whose ordinal number exceeded 63). Indexing of values used in expressions has been enhanced. Loading large strings and blobs from disk when processing NOT NULL and IS NULL operators has been eliminated. Materialization of views for which full scans are performed only once has been discontinued.
  • In the codebase, a separate type sqlite3_filename has been used instead of the "char *" type to represent file names.
  • An internal function sqlite3_value_encoding() has been added.
  • The SQLITE_DBCONFIG_DEFENSIVE mode has been introduced, which prohibits changes to the storage schema version.
  • The implementation of the parameter "PRAGMA integrity_check" has been enhanced with additional checks. For example, tables without the STRICT flag should not contain numeric values in TEXT type columns and string values with numbers in NUMERIC type columns. A check for the correct order of rows has also been added for tables with the "WITHOUT ROWID" flag.
  • The "VACUUM INTO" statement now considers the "PRAGMA synchronous" settings.
  • A build option SQLITE_MAX_ALLOCATION_SIZE has been added, allowing limits on block sizes during memory allocation.
  • The built-in SQLite algorithm for generating pseudo-random numbers has been switched from the RC4 stream cipher to Chacha20.
  • Using indexes with the same names in different data schemas is now allowed.
  • Performance optimizations have been made, reducing CPU load by approximately 1% during typical activity.

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster