Release of DBMS SQLite 3.40

published release sqlite 3.40 , lightweight DBMS , designed in the form of a connected library. The SQLite code is distributed as a public domain, i.e. It can be used without restrictions and free of charge for any purpose. The financial support of the developers of SQLite is carried out by a specially created consortium, which includes companies such as Adobe, Oracle, Mozilla, Bentley and Bloomberg. Changes :

  • The experimental possibility SQLite compilation in the WebASSEMBLY intermediate code, which can be launched in the Web browser and suitable for organizing work with a database from Web applications In JavaScript. Web developers are provided high-level Object-oriented interface for working with data in style sql.js or node.js, strapping over low-level C API and API On the basis of the mechanism web worker , which allows you to create asynchronous handlers performed in separate streams. The data that the Web applications save in the SQLite WASM version can be saved on the client using OPFS (Origin-Private Filesystem) or API Window.Localstorage.
  • added an extension recovery designed to restore data from damaged files with a database. The command line interface for recovery uses the “.recover”.
  • .

  • Improved the work of the request planner. The restrictions were removed when using indices with tables with more than 63 columns (earlier in operations with columns, the serial number of which exceeds 63, indexation was not used). Improved indexation of the values ​​used in expressions. The load from the disk of large lines and blobs was stopped when processing NOT NULL and IS Null operators. Materialization of the representations for which full scan is excluded only once.
  • In the code base, instead of the type “Char *”, a separate type of SQLITE3_FILENAME.
  • is involved to represent files.

  • Added internal function sqlite3_value_encoding ().
  • Added mode sqlite_dbconfig_defensive prohibits changing the versions of these storage schemes.
  • in the implementation of the parameter “ pragma integry_check ” added additional checks. For example,
    The tables without a sign of Stript should not contain numerical values ​​in columns with the type of Text and string values ​​with numbers in columns with the Numeric type. Also added verification of the correctness of the line of line in tables with a sign “Without Rowid”.
  • In the expression “Vacuum Into”, the settings are taken into account pragma synchronous
/Media reports cited above.