2025-01-15 16:23:42 by Adam Ciarcinski | Files touched by this commit (7) | |
Log message:
sqlite3: updated to 3.48.0
SQLite Release 3.48.0 On 2025-01-14
Refactor the "configure" script used to help build SQLite from \
canonical sources, to fix bugs, improve performance, and make the code more \
maintainable.
This does not affect the "configure" script in the \
sqlite3-autoconf-NNNNNNN.tar.gz "amalgamation tarball", only the \
canonical sources. The build system for the amalgamation tarball is unchanged. \
If you are using the amalgamation tarball, nothing about this change log entry \
applies to you.
The key innovation here is that Autosetup is now used instead of GNU Autoconf. \
That seems like a big change, but it is really just an implementation detail. \
The ./configure script is coded very differently, but should work the same as \
before.
One advantage of the new configure is that you no longer need to install TCL in \
order to build most SQLite targets. TCL is still required to run tests or to \
build accessory programs (like sqlite3_analyzer) that use TCL, but it is not \
required for most common targets. Hence, as of this release, the only build \
dependencies are a C compiler and "make" or "nmake".
Improved EXPLAIN QUERY PLAN output for covering indexes.
Allow a two-argument version of the iif() SQL function. Also allow if() as an \
alternative spelling for iif().
Add the ".dbtotxt" command to the CLI.
Add the SQLITE_IOCAP_SUBPAGE_READ property to the xDeviceCharacteristics method \
of the sqlite3_io_methods object.
Add the SQLITE_PREPARE_DONT_LOG option to sqlite3_prepare_v3() that prevents \
warning messages being sent to the error log if the SQL is ill-formed. This \
allows sqlite3_prepare_v3() to be used to do test compiles of SQL to check for \
validity without polluting the error log with false messages.
Increase the minimum allowed value of SQLITE_LIMIT_LENGTH from 1 to 30.
Added the SQLITE_FCNTL_NULL_IO file control.
Extend the FTS5 auxiliary API xInstToken() to work with prefix queries via the \
insttoken configuration option and the fts5_insttoken() SQL function.
Increase the maximum number of arguments to an SQL function from 127 to 1000.
Remove vestigial traces of SQLITE_USER_AUTHENTICATION.
Various obscure bug fixes.
|
2024-12-09 09:33:52 by Adam Ciarcinski | Files touched by this commit (6) | |
Log message:
sqlite3: updated to 3.47.2
version 3.47.2 (2024-12-07):
Fix a problem in text-to-floating-point conversion for SQLite that can cause \
values between '1.8446744073709550592eNNN' and '1.8446744073709551609eNNN' for \
any exponent NNN to be rendered incorrectly. In other words, some numeric text \
values where the first 16 significant digits are '1844674407370955' might be \
converted into the wrong floating-point value. See forum thread \
569a7209179a7f5e. This problem only arises on x64 and i386 hardware. The problem \
was introduced in 3.47.0.
Other minor bug fixes.
|
2024-11-25 21:20:04 by Adam Ciarcinski | Files touched by this commit (8) | |
Log message:
sqlite3: updated to 3.47.1
3.47.1 (2024-11-25):
Fix the makefiles so that they once again honored DESTDIR for the \
"install" target.
Add the SQLITE_IOCAP_SUBPAGE_READ capability to the VFS, to work around issues \
on some non-standard VFSes caused by making SQLITE_DIRECT_OVERFLOW_READ the \
default in version 3.45.0.
Fix problems with line endings in the new sqlite3_rsync.exe utility on Windows.
Fix incorrect answers to certain obscure IN queries caused by new query \
optimizations added in the 3.47.0 release.
Other minor bug fixes.
|
2024-11-14 23:22:33 by Thomas Klausner | Files touched by this commit (2429) |
Log message:
*: recursive bump for icu 76 shlib major version bump
|
2024-11-01 13:55:19 by Thomas Klausner | Files touched by this commit (2426) |
Log message:
*: revbump for icu downgrade
|
2024-11-01 01:54:33 by Thomas Klausner | Files touched by this commit (2427) |
Log message:
*: recursive bump for icu 76.1 shlib bump
|
2024-10-22 20:25:29 by Adam Ciarcinski | Files touched by this commit (7) | |
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.
|
2024-08-13 15:11:52 by Adam Ciarcinski | Files touched by this commit (8) | |
Log message:
sqlite3: updated to 3.46.1
3.46.1 (2024-08-13):
Improved robustness while parsing the tokenize= arguments in FTS5. Forum post \
171bcc2bcd.
Enhancements to covering index prediction in the query planner. Add early \
detection of over-prediction of covering indexes so that sqlite3_prepare() will \
return an error rather than just generate bad bytecode. Forum post \
e60e4c295d22f8ce.
Do not let the number of terms on a VALUES clause be limited by \
SQLITE_LIMIT_COMPOUND_SELECT, even if the VALUES clause contains elements that \
appear to be variables due to double-quoted string literals.
Fix the window function version of group_concat() so that it returns an empty \
string if it has one or more empty string inputs.
In FTS5 secure-delete mode, fix false-positive integrity-check reports about \
corrupt indexes.
Syntax errors in ALTER TABLE should always return SQLITE_ERROR. In some cases, \
they were formerly returning SQLITE_INTERNAL.
JavaScript/WASM:
Fix a corruption-causing bug in the JavaScript "opfs" VFS.
Work around a couple of browser-specific OPFS quirks.
Other minor fixes.
|
2024-05-29 18:35:19 by Adam Ciarcinski | Files touched by this commit (1929) | |
Log message:
revbump after icu and protobuf updates
|
2024-05-24 06:48:54 by Adam Ciarcinski | Files touched by this commit (6) | |
Log message:
sqlite3: updated to 3.46.0
SQLite Release 3.46.0 On 2024-05-23
Enhance PRAGMA optimize in multiple ways, to make it simpler to use:
PRAGMA optimize automatically implements a temporary analysis limit to prevent \
excess runtime on large databases.
Added the new 0x10000 bitmask option to check for updates on all tables.
Automatically re-analyze tables that do not have sqlite_stat1 entries.
Enhancements to the date and time functions:
The strftime() SQL function now supports %G, %g, %U, and %V.
New modifiers 'ceiling' and 'floor' control the algorithm used to resolve \
ambiguous dates when shifting a date by an integer number of months and/or \
years.
The 'utc' and 'localtime' modifiers are now no-ops if SQLite knows that the time \
is already in UTC or in the localtime, respectively.
Add support for underscore ("_") characters between digits in numeric \
literals.
Add the json_pretty() SQL function.
Query planner improvements:
The "VALUES-as-coroutine" optimization enables INSERT statements with \
thousands of rows in the VALUES clause to parse and run in about half the time \
and using about half as much memory.
Allow the use of an index for queries like "SELECT count(DISTINCT col) FROM \
...", even if the index records are not smaller than the table records.
Improved recognition of cases where the value of an SQL function is constant \
because all its arguments are constant.
Enhance the WHERE-clause push-down optimization so that it is able to push down \
WHERE clause terms containing uncorrelated subqueries.
Allocate additional memory from the heap for the SQL parser stack if that stack \
overflows, rather than reporting a "parser stack overflow" error.
JSON changes:
Allow ASCII control characters within JSON5 string literals.
Fix the -> and ->> operators so that when the right-hand side operand \
is a string that looks like an integer it is still treated as a string, because \
that is what PostgreSQL does.
Allow large hexadecimal literals to be used as the DEFAULT value to a table column.
|