Path to this page:
Subject: CVS commit: pkgsrc
From: Adam Ciarcinski
Date: 2023-02-24 09:34:38
Message id: 20230224083439.0044CFA90@cvs.NetBSD.org
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.
Files: