2023-03-28 15:01:41 by Adam Ciarcinski | Files touched by this commit (7) | |
Log message: sqlite3: updated to 3.41.2 version 3.41.2 (2023-03-22): Multiple fixes for reads past the end of memory buffers (NB: reads not writes) \ in the following circumstances: When processing a corrupt database file using the non-standard \ SQLITE_ENABLE_STAT4 compile-time option. In the CLI when the sqlite3_error_offset() routine returns an out-of-range value \ (see also the fix to sqlite3_error_offset() below). In the recovery extension. In FTS3 when processing a corrupt database file. Fix the sqlite3_error_offset() so that it does not return out-of-range values \ when reporting errors associated with generated columns. Multiple fixes in the query optimizer for problems that cause incorrect results \ for bizarre, fuzzer-generated queries. Increase the size of the reference counter in the page cache object to 64 bits \ to ensure that the counter never overflows. Fix a performance regression caused by a bug fix in patch release 3.41.1. Fix a few incorrect assert() statements. |
2023-03-12 11:34:33 by Adam Ciarcinski | Files touched by this commit (7) | |
Log message: sqlite3: updated to 3.41.1 version 3.41.1 (2023-03-10): Provide compile-time options -DHAVE_LOG2=0 and -DHAVE_LOG10=0 to enable SQLite \ to be compiled on systems that omit the standard library functions log2() and \ log10(), repectively. Ensure that the datatype for column t1.x in "CREATE TABLE t1 AS SELECT \ CAST(7 AS INT) AS x;" continues to be INT and is not NUM, for historical \ compatibility. Enhance PRAGMA integrity_check to detect when extra bytes appear at the end of \ an index record. Fix various obscure bugs reported by the user community. See the timeline of \ changes for details. |
2023-02-24 09:34:38 by Adam Ciarcinski | Files touched by this commit (7) | |
Log message: sqlite3: updated to 3.41.0 SQLite Release 3.41.0 On 2023-02-21 Query planner improvements: Make use of indexed expressions within an aggregate query that includes a GROUP \ BY clause. The query planner has improved awareness of when an index is a covering index \ and adjusts predicted runtimes accordingly. The query planner is more aggressive about using co-routines rather than \ materializing subqueries and views. Queries against the built-in table-valued functions json_tree() and json_each() \ will now usually treat "ORDER BY rowid" as a no-op. Enhance the ability of the query planner to use indexed expressions even if the \ expression has been modified by the constant-propagation optimization. (See \ forum thread 0a539c7.) Add the built-in unhex() SQL function. Add the base64 and base85 application-defined functions as an extension and \ include that extension in the CLI. Add the sqlite3_stmt_scanstatus_v2() interface. (This interface is only \ available if SQLite is compiled using SQLITE_ENABLE_STMT_SCANSTATUS.) In-memory databases created using sqlite3_deserialize() now report their \ filename as an empty string, not as 'x'. Changes to the CLI: Add the new base64() and base85() SQL functions Enhanced EXPLAIN QUERY PLAN output using the new sqlite3_stmt_scanstatus_v2() \ interface when compiled using SQLITE_ENABLE_STMT_SCANSTATUS. The ".scanstats est" command provides query planner estimates in profiles. The continuation prompt indicates if the input is currently inside of a string \ literal, identifier literal, comment, trigger definition, etc. Enhance the --safe command-line option to disallow dangerous SQL functions. The double-quoted string misfeature is now disabled by default for CLI builds. \ Legacy use cases can reenable the misfeature at run-time using the \ ".dbconfig dqs_dml on" and ".dbconfig dqs_ddl on" commands. Enhance the PRAGMA integrity_check command so that it detects when text strings \ in a table are equivalent to but not byte-for-byte identical to the same strings \ in the index. Enhance the carray table-valued function so that it is able to bind an array of \ BLOB objects. Added the sqlite3_is_interrupted() interface. Long-running calls to sqlite3_prepare() and similar now invoke the progress \ handler callback and react to sqlite3_interrupt(). The sqlite3_vtab_in_first() and sqlite3_vtab_in_next() functions are enhanced so \ that they reliably detect if they are invoked on a parameter that was not \ selected for multi-value IN processing using sqlite3_vtab_in(). They return \ SQLITE_ERROR instead of SQLITE_MISUSE in this case. The parser now ignores excess parentheses around a subquery on the right-hand \ side of an IN operator, so that SQLite now works the same as PostgreSQL in this \ regard. Formerly, SQLite treated the subquery as an expression with an implied \ "LIMIT 1". Added the SQLITE_FCNTL_RESET_CACHE option to the sqlite3_file_control() API. Makefile improvements: The new makefile target "sqlite3r.c" builds an amalgamation that \ includes the recovery extension. New makefile targets "devtest" and "releasetest" for running \ a quick developmental test prior to doing a check-in and for doing a full \ release test, respectively. Miscellaneous performance enhancements. |
2022-12-28 23:26:07 by Adam Ciarcinski | Files touched by this commit (9) | |
Log message: sqlite3: updated to 3.40.1 3.40.1 (2022-12-28): Fix the --safe command-line option to the CLI such that it correctly disallows \ the use of SQL functions like writefile() that can cause harmful side-effects. Fix a potential infinite loop in the memsys5 alternative memory allocator. This \ bug was introduced by a performance optimization in version 3.39.0. Various other obscure fixes. |
2022-11-17 07:20:45 by Adam Ciarcinski | Files touched by this commit (7) | |
Log message: sqlite3: updated to 3.40.0 SQLite Release 3.40.0 Add support for compiling SQLite to WASM and running it in web browsers. NB: The \ WASM build and its interfaces are considered "beta" and are subject to \ minor changes if the need arises. We anticipate finalizing the interface for the \ next release. Add the recovery extension that might be able to recover some content from a \ corrupt database file. Query planner enhancements: Recognize covering indexes on tables with more than 63 columns where columns \ beyond the 63rd column are used in the query and/or are referenced by the index. Extract the values of expressions contained within expression indexes where \ practical, rather than recomputing the expression. The NOT NULL and IS NULL operators (and their equivalents) avoid loading the \ content of large strings and BLOB values from disk. Avoid materializing a view on which a full scan is performed exactly once. Use \ and discard the rows of the view as they are computed. Allow flattening of a subquery that is the right-hand operand of a LEFT JOIN in \ an aggregate query. A new typedef named sqlite3_filename is added and used to represent the name of \ a database file. Various interfaces are modified to use the new typedef instead \ of "char*". This interface change should be fully backwards \ compatible, though it might cause (harmless) compiler warnings when rebuilding \ some legacy applications. Add the sqlite3_value_encoding() interface. Security enhancement: SQLITE_DBCONFIG_DEFENSIVE is augmented to prohibit \ changing the schema_version. The schema_version becomes read-only in defensive \ mode. Enhancements to the PRAGMA integrity_check statement: Columns in non-STRICT tables with TEXT affinity should not contain numeric values. Columns in non-STRICT tables with NUMERIC affinity should not contain TEXT \ values that could be converted into numbers. Verify that the rows of a WITHOUT ROWID table are in the correct order. Enhance the VACUUM INTO statement so that it honors they PRAGMA synchronous setting. Enhance the sqlite3_strglob() and sqlite3_strlike() APIs so that they are able \ to accept NULL pointers for their string parameters and still generate a \ sensible result. Provide the new SQLITE_MAX_ALLOCATION_SIZE compile-time option for limiting the \ size of memory allocations. Change the algorithm used by SQLite's built-in pseudo-random number generator \ (PRNG) from RC4 to Chacha20. Allow two or more indexes to have the same name as long as they are all in \ separate schemas. Miscellaneous performance optimizations result in about 1% fewer CPU cycles used \ on typical workloads. |
2022-10-03 14:27:52 by Adam Ciarcinski | Files touched by this commit (6) | |
Log message: sqlite3: updated to 3.39.4 Changes in version 3.39.4 (2022-09-29): Fix the build on Windows so that it works with -DSQLITE_OMIT_AUTOINIT Fix a long-standing problem in the btree balancer that might, in rare cases, \ cause database corruption if the application uses an application-defined page \ cache. Enhance SQLITE_DBCONFIG_DEFENSIVE so that it disallows CREATE TRIGGER statements \ if one or more of the statements in the body of the trigger write into shadow \ tables. Fix a possible integer overflow in the size computation for a memory allocation \ in FTS3. Fix a misuse of the sqlite3_set_auxdata() interface in the ICU Extension. |
2022-09-06 20:59:11 by Adam Ciarcinski | Files touched by this commit (6) | |
Log message: sqlite3: updated to 3.39.3 Changes in version 3.39.3 (2022-09-05): Use a statement journal on DML statement affecting two or more database rows if \ the statement makes use of a SQL functions that might abort. See forum thread \ 9b9e4716c0d7bbd1. Use a mutex to protect the PRAGMA temp_store_directory and PRAGMA \ data_store_directory statements, even though they are deprecated and documented \ as not being threadsafe. See forum post 719a11e1314d1c70. Other bug and warning fixes. See the timeline for details. |
2022-07-22 09:05:56 by Adam Ciarcinski | Files touched by this commit (6) | |
Log message: sqlite3: updated to 3.39.2 changes in version 3.39.2 (2022-07-21): Fix a performance regression in the query planner associated with rearranging \ the order of FROM clause terms in the presences of a LEFT JOIN. Apply fixes for CVE-2022-35737, Chromium bugs 1343348 and 1345947, forum post \ 3607259d3c, and other minor problems discovered by internal testing. |
2022-07-14 10:05:51 by Adam Ciarcinski | Files touched by this commit (6) | |
Log message: sqlite3: updated to 3.39.1 Changes in version 3.39.1 (2022-07-13): Fix an incorrect result from a query that uses a view that contains a compound \ SELECT in which only one arm contains a RIGHT JOIN and where the view is not the \ first FROM clause term of the query that contains the view. forum post \ 174afeae5734d42d. Fix some harmless compiler warnings. Fix a long-standing problem with ALTER TABLE RENAME that can only arise if the \ sqlite3_limit(SQLITE_LIMIT_SQL_LENGTH) is set to a very small value. Fix a long-standing problem in FTS3 that can only arise when compiled with the \ SQLITE_ENABLE_FTS3_PARENTHESIS compile-time option. Fix the build so that is works when the SQLITE_DEBUG and SQLITE_OMIT_WINDOWFUNC \ compile-time options are both provided at the same time. Fix the initial-prefix optimization for the REGEXP extension so that it works \ correctly even if the prefix contains characters that require a 3-byte UTF8 \ encoding. Enhance the sqlite_stmt virtual table so that it buffers all of its output. |
2022-07-01 19:49:39 by Adam Ciarcinski | Files touched by this commit (7) | |
Log message: sqlite3: updated to 3.39.0 SQLite Release 3.39.0 On 2022-06-25 Add (long overdue) support for RIGHT and FULL OUTER JOIN. Add new binary comparison operators IS NOT DISTINCT FROM and IS DISTINCT FROM \ that are equivalent to IS and IS NOT, respective, for compatibility with \ PostgreSQL and SQL standards. Add a new return code (value "3") from the sqlite3_vtab_distinct() \ interface that indicates a query that has both DISTINCT and ORDER BY clauses. Added the sqlite3_db_name() interface. The unix os interface resolves all symbolic links in database filenames to \ create a canonical name for the database before the file is opened. Defer materializing views until the materialization is actually needed, thus \ avoiding unnecessary work if the materialization turns out to never be used. The HAVING clause of a SELECT statement is now allowed on any aggregate query, \ even queries that do not have a GROUP BY clause. Many microoptimizations collectively reduce CPU cycles by about 2.3%. |