SQLite 3.37 release

The release of SQLite 3.37, a lightweight DBMS designed as a plug-in library, has been published. The SQLite code is distributed in the public domain, i.e. can be used without restrictions and free of charge for any purpose. Financial support for SQLite developers is provided by a specially created consortium, which includes companies such as Adobe, Oracle, Mozilla, Bentley and Bloomberg.

Major changes:

  • Added support for creating tables with the "STRICT" attribute, which requires a mandatory type specification when declaring columns and applies strict conformity checking of the types of data added to columns. When this flag is set, SQLite will throw an error if it is not possible to cast the specified data to the column type. For example, if the column is created as "INTEGER", then passing the string value '123' will result in the addition of the number 123, but attempting to specify 'xyz' will fail.
  • In the "ALTER TABLE ADD COLUMN" operation, a check of the conditions for the existence of rows is added when adding columns with checks based on the "CHECK" expression or with the "NOT NULL" conditions.
  • Implemented "PRAGMA table_list" expression to display information about tables and views.
  • The command line interface implements the “.connection” command, which allows you to simultaneously maintain multiple connections to the database.
  • The "--safe" parameter has been added, which disables CLI commands and SQL statements that allow you to perform operations with database files that differ from those specified in the database command line.
  • The CLI has been optimized for the performance of reading SQL statements that are split across multiple lines.
  • Added functions sqlite3_autovacuum_pages(), sqlite3_changes64() and sqlite3_total_changes64().
  • The query planner ensures that "ORDER BY" expressions in subqueries and views are ignored if the removal of these expressions does not change the semantics of the query.
  • The generate_series(START,END,STEP) extension has been changed, the first parameter in which ("START") has been made mandatory. To return the old behavior, it is possible to rebuild with the "-DZERO_ARGUMENT_GENERATE_SERIES" option.
  • Reduced memory consumption for storing the database schema.

Source: opennet.ru

Add a comment