Subject: CVS commit: pkgsrc
From: Adam Ciarcinski
Date: 2024-10-22 20:25:29
Message id: 20241022182529.86801FC7E@cvs.NetBSD.org

Log Message:
sqlite3: updated to 3.47.0

SQLite Release 3.47.0

Allow arbitrary expressions in the second argument to the RAISE function.
If the RHS of the ->> operator is negative, then access array elements \ 
counting from the right.
Fix a problem with rolling back hot journal files in the seldom-used \ 
unix-dotfile VFS.
FTS5 tables can now be dropped even if they use a non-standard tokenizer that \ 
has not been registered.
Fix the group_concat() aggregate function so that it returns an empty string, \ 
not a NULL, if it receives a single input value which is an empty string.
Enhance the generate_series() table-valued function so that it is able to \ 
recognize and use constraints on its output value.
Preupdate hooks now recognize when a column added by ALTER TABLE ADD COLUMN has \ 
a non-null default value.
Performance optimizations:
Improved reuse of subqueries associated with the IN operator, especially when \ 
the IN operator has been duplicated due to predicate push-down.
Use a Bloom filter on subqueries on the right-hand side of the IN operator, in \ 
cases where that seems likely to improve performance.
Ensure that queries like "SELECT func(a) FROM tab GROUP BY 1" only \ 
invoke the func() function once per row.
No attempt is made to create automatic indexes on a column that is known to be \ 
non-selective because of its use in other indexes that have been analyzed.
Adjustments to the query planner so that it produces better plans for star \ 
queries with a large number of dimension tables.
Add the "order-by-subquery" optimization, that seeks to disable sort \ 
operations in outer queries if the desired order is obtained naturally due to \ 
ORDER BY clauses in subqueries.
The "indexed-subtype-expr" optimization strives to use expressions \ 
that are part of an index rather than recomputing the expression based on table \ 
values, as long as the query planner can prove that the subtype of the \ 
expression will never be used.
Miscellaneous coding tweaks for faster runtimes.
Enhancements to SQLite-related command-line programs:
Add the experimental sqlite3_rsync program.
Add extension functions median(), percentile(), percentile_cont(), and \ 
percentile_disc() to the CLI.
Add the .www dot-command to the CLI.
The sqlite3_analyzer utility now provides a break-out of statistics for WITHOUT \ 
ROWID tables.
The sqldiff utility avoids creating an empty database if its second argument \ 
does not exist.
Enhance the sqlite_dbpage table-valued function such that INSERT can be used to \ 
increase or decrease the size of the database file.
SQLite no longer makes any use of the "long double" data type, as \ 
hardware support for long double is becoming less common and long double creates \ 
challenges for some compiler tool chains. Instead, SQLite uses Dekker's \ 
algorithm when extended precision is needed.
The TCL Interface for SQLite supports TCL9. Everything probably still works for \ 
TCL 8.5 and later, though this is not guaranteed. Users are encouraged to \ 
upgrade to TCL9.
JavaScript/WASM:
Fix a corruption-causing bug in the JavaScript "opfs" VFS.
Correct "mode=ro" handling for the "opfs" VFS.
Work around a couple of browser-specific OPFS quirks.
FTS5 Changes:
Add the fts5_tokenizer_v2 API and the locale=1 option, for creating custom \ 
locale-aware tokenizers and fts5 tables that may take advantage of them.
Add the contentless_unindexed=1 option, for creating contentless fts5 tables \ 
that store the values of any UNINDEXED columns persistently in the database.
Allow an FTS5 table to be dropped even if it uses a custom tokenizer whose \ 
implementation is not available.

Files:
RevisionActionfile
1.113modifypkgsrc/databases/sqlite3/Makefile.common
1.207modifypkgsrc/databases/sqlite3/distinfo
1.136modifypkgsrc/databases/sqlite3-docs/PLIST
1.139modifypkgsrc/databases/sqlite3-docs/distinfo
1.153modifypkgsrc/databases/sqlite3-tcl/distinfo
1.80modifypkgsrc/devel/lemon/distinfo
1.7addpkgsrc/databases/sqlite3-tcl/patches/patch-configure