Release of SQLite DBMS 3.51

SQLite 3.51 has been released, a lightweight DBMS structured as a dynamic library. The SQLite code is released as public domain, meaning it can be used freely for any purpose without restrictions. Financial support for the SQLite developers is provided by a specially created consortium.

Key Changes:

  • New JSON functions jsonb_each() and jsonb_tree() have been added, which differ from the previously available json_each() and json_tree() functions by returning a JSONB value for data of array or object type.
  • The code for the carray and percentile extensions has been moved to the core file 'sqlite3.c' with the embedded SQLite code. By default, these features are disabled and require specifying the parameters '-DSQLITE_ENABLE_CARRAY' and '-DSQLITE_ENABLE_PERCENTILE' during compilation.
  • The interface for using SQLite in Tcl scripts has been improved. The 'eval' command now includes the '-asdict' flag to return strings using the 'dict' type instead of 'array'. The ability to interrupt user-defined functions to return a NULL value has been added.
  • Changes to the command line interface:
    • The accuracy of the '.timer' command has been increased to microseconds.
    • Support for double-width characters has been implemented in the 'box' and 'column' formatting modes.
    • The '.imposter' command can now provide imposter tables in read-only mode (allowing access to index data as a table), working with the VACUUM operation and not requiring launch with the '--unsafe-testing' flag.
    • An option '--ifexists' has been added to the sqlite utility and the '.open' command.
    • The maximum string width specified by the '.width' command is limited to 30,000 characters.
  • Performance optimizations have been made:
    • CPU load during transactions limited to read access has been reduced.
    • Improved merging (JOIN) operation determination, avoiding returning rows when one or more tables contain no rows.
    • Execution of scalar subqueries that do not affect the result has been excluded.
    • The performance of window functions in queries with the expression 'BETWEEN 😡 FOLLOWING AND :y FOLLOWING' and a very large ':y' value has been accelerated.
  • The pragma 'PRAGMA wal_checkpoint=NOOP' and the API function sqlite3_wal_checkpoint() have been added for committing changes in the WAL log.
  • The API now includes the functions sqlite3_set_errmsg() and sqlite3_db_status64().
  • The JavaScript/WASM version of SQLite has implemented support for building as a WebAssembly representation with 64-bit pointers.
  • Improved resilience against database damage in applications that remove POSIX locks through the close() call.
  • Enhanced support for the VxWorks platform.

Source: opennet.ru

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