From 63847496f14c813a5d80efd5b7de0f1294ffe1e3 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 13 Apr 2024 16:07:11 +0200 Subject: Adding upstream version 3.45.1. Signed-off-by: Daniel Baumann --- www/releaselog/3_21_0.html | 209 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 209 insertions(+) create mode 100644 www/releaselog/3_21_0.html (limited to 'www/releaselog/3_21_0.html') diff --git a/www/releaselog/3_21_0.html b/www/releaselog/3_21_0.html new file mode 100644 index 0000000..bcb8548 --- /dev/null +++ b/www/releaselog/3_21_0.html @@ -0,0 +1,209 @@ + + + + + +SQLite Release 3.21.0 On 2017-10-24 + + + +
+ + + +
+
+Small. Fast. Reliable.
Choose any three. +
+ + +
+
+ + + +
+
+
+ +

SQLite Release 3.21.0 On 2017-10-24

    +
  1. Take advantage of the atomic-write capabilities in the + F2FS filesystem when available, for + greatly reduced transaction overhead. This currently requires the + SQLITE_ENABLE_BATCH_ATOMIC_WRITE compile-time option. +
  2. Allow ATTACH and DETACH commands to work inside of a transaction. +
  3. Allow WITHOUT ROWID virtual tables to be writable if the PRIMARY KEY + contains exactly one column. +
  4. The "fsync()" that occurs after the header is written in a WAL reset + now uses the sync settings for checkpoints. This means it will use a + "fullfsync" on macs if PRAGMA checkpoint_fullfsync set on. +
  5. The sqlite3_sourceid() function tries to detect if the source code has + been modified from what is checked into version control and if there are + modifications, the last four characters of the version hash are shown as + "alt1" or "alt2". The objective is to detect accidental and/or careless + edits. A forger can subvert this feature. +
  6. Improved de-quoting of column names for CREATE TABLE AS statements with + an aggregate query on the right-hand side. +
  7. Fewer "stat()" system calls issued by the unix VFS. +
  8. Enhanced the LIKE optimization so that it works with an ESCAPE clause. +
  9. Enhanced PRAGMA integrity_check and PRAGMA quick_check to detect obscure + row corruption that they were formerly missing. Also update both pragmas + so that they return error text rather than SQLITE_CORRUPT when encountering + corruption in records. +
  10. The query planner now prefers to implement FROM-clause subqueries using + co-routines rather using the query flattener optimization. Support for + the use of co-routines for subqueries may no longer be disabled. +
  11. Pass information about !=, IS, IS NOT, NOT NULL, and IS NULL constraints + into the xBestIndex method of virtual tables. +
  12. Enhanced the CSV virtual table so that it accepts the last row of + input if the final new-line character is missing. +
  13. Remove the rarely-used "scratch" memory allocator. Replace it with the + SQLITE_CONFIG_SMALL_MALLOC configuration setting that gives SQLite + a hint that large memory allocations should be avoided when possible. +
  14. Added the + swarm virtual table + to the existing union virtual table extension. +
  15. Added the + sqlite_dbpage virtual table + for providing direct access to pages + of the database file. The source code is built into the amalgamation and + is activated using the -DSQLITE_ENABLE_DBPAGE_VTAB compile-time option. +
  16. Add a new type of fts5vocab virtual table - "instance" - that provides + direct access to an FTS5 full-text index at the lowest possible level. +
  17. Remove a call to rand_s() in the Windows VFS since it was causing problems + in Firefox on some older laptops. +
  18. The src/shell.c source code + to the command-line shell is no longer under version control. That file + is now generated as part of the build process. +
  19. Miscellaneous microoptimizations reduce CPU usage by about 2.1%. +
  20. Bug fixes: +
      +
    1. Fix a faulty assert() statement discovered by OSSFuzz. + Ticket cb91bf4290c211d +
    2. Fix an obscure memory leak in sqlite3_result_pointer(). + Ticket 7486aa54b968e9b +
    3. Avoid a possible use-after-free error by deferring schema resets until + after the query planner has finished running. + Ticket be436a7f4587ce5 +
    4. Only use indexes-on-expressions to optimize ORDER BY or GROUP BY if + the COLLATE is correct. + Ticket e20dd54ab0e4383 +
    5. Fix an assertion fault that was coming up when the expression in an + index-on-expressions is really a constant. + Ticket aa98619ad08ddca +
    6. Fix an assertion fault that could occur following + PRAGMA reverse_unordered_selects. + Ticket cb91bf4290c211d +
    7. Fix a segfault that can occur for queries that use table-valued functions + in an IN or EXISTS subquery. + Ticket b899b6042f97f5 +
    8. Fix a potential integer overflow problem when compiling a particular + horrendous common table expression. This was another problem discovered + by OSSFuzz. Check-in 6ee8cb6ae5. +
    9. Fix a potential out-of-bound read when querying a corrupt database file, + a problem detected by Natalie Silvanovich of Google Project Zero. + Check-in 04925dee41a21f. +
    +

    Hashes: +

  21. SQLITE_SOURCE_ID: "2017-10-24 18:55:49 1a584e499906b5c87ec7d43d4abce641fdf017c42125b083109bc77c4de48827" +
  22. SHA3-256 for sqlite3.c: 84c181c0283d0320f488357fc8aab51898370c157601459ebee49d779036fe03 + +

+ +

A complete list of SQLite releases + in a single page and a chronology are both also available. + A detailed history of every + check-in is available at + + SQLite version control site.

+ + -- cgit v1.2.3