2024-03-14 09:07:11 by Adam Ciarcinski | Files touched by this commit (6) | |
Log message:
sqlite3: updated to 3.45.2
version 3.45.2 (2024-03-12):
Fix an error in UPSERT, introduced by enhancement 3a in version 3.35.0 \
(2021-03-12), that could cause an index to get out-of-sync with its table. Forum \
thread 919c6579c8.
Reduce the scope of the NOT NULL strength reduction optimization that was added \
as item 8e in version 3.35.0 (2021-03-12). The optimization was being attempted \
in some contexts where it did not work, resulting in incorrect query results. \
Forum thread 440f2a2f17.
Other trifling corrections and compiler warning fixes that have come up since \
the previous patch release. See the timeline for details.
|
2024-01-30 21:13:21 by Adam Ciarcinski | Files touched by this commit (6) | |
Log message:
sqlite3* lemon: updated to 3.45.1
version 3.45.1 (2024-01-30):
Restore the JSON BLOB input bug, and promise to support the anomaly in \
subsequent releases, for backward compatibility.
Fix the PRAGMA integrity_check command so that it works on read-only databases \
that contain FTS3 and FTS5 tables. This resolves an issue introduced in version \
3.44.0 but was undiscovered until after the 3.45.0 release.
Fix issues associated with processing corrupt JSONB inputs:
Prevent exponential runtime when converting a corrupt JSONB into text.
Fix a possible read of one byte past the end of the JSONB blob when converting a \
corrupt JSONB into text.
Enhanced testing using jfuzz to prevent any future JSONB problems such as the above.
Fix a long-standing bug in which a read of a few bytes past the end of a \
memory-mapped segment might occur when accessing a craftily corrupted database \
using memory-mapped database.
Fix a long-standing bug in which a NULL pointer dereference might occur in the \
bytecode engine due to incorrect bytecode being generated for a class of SQL \
statements that are deliberately designed to stress the query planner but which \
are otherwise pointless.
|
2024-01-17 09:24:19 by Adam Ciarcinski | Files touched by this commit (6) | |
Log message:
sqlite3: updated to 3.45.0
SQLite Release 3.45.0 On 2024-01-15
Added the SQLITE_RESULT_SUBTYPE property for application-defined SQL functions. \
All application defined SQL functions that invokes sqlite3_result_subtype() must \
be registered with this new property. Failure to do so might cause the call to \
sqlite3_result_subtype() to behave as a no-op. Compile with \
-DSQLITE_STRICT_SUBTYPE=1 to cause an SQL error to be raised if a function that \
is not SQLITE_RESULT_SUBTYPE tries invokes sqlite3_result_subtype(). The use of \
-DSQLITE_STRICT_SUBTYPE=1 is a recommended compile-time option for every \
application that makes use of subtypes.
Enhancements to the JSON SQL functions:
All JSON functions are rewritten to use a new internal parse tree format called \
JSONB. The new parse-tree format is serializable and hence can be stored in the \
database to avoid unnecessary re-parsing whenever the JSON value is used.
New versions of JSON-generating functions generate binary JSONB instead of JSON text.
The json_valid() function adds an optional second argument that specifies what \
it means for the first argument to be "well-formed".
Add the FTS5 tokendata option to the FTS5 virtual table.
The SQLITE_DIRECT_OVERFLOW_READ optimization is now enabled by default. Disable \
it at compile-time using -DSQLITE_DIRECT_OVERFLOW_READ=0.
Query planner improvements:
Do not allow the transitive constraint optimization to trick the query planner \
into using a range constraint when a better equality constraint is available. \
(Forum post 2568d1f6e6.)
The query planner now does a better job of disregarding indexes that ANALYZE \
identifies as low-quality. (Forum post 6f0958b03b.)
Increase the default value for SQLITE_MAX_PAGE_COUNT from 1073741824 to 4294967294.
Enhancements to the CLI:
Improvements to the display of UTF-8 content on Windows
Automatically detect playback of ".dump" scripts and make appropriate \
changes to settings such as ".dbconfig defensive off" and \
".dbconfig dqs_dll on".
|
2023-11-25 22:07:39 by Adam Ciarcinski | Files touched by this commit (8) | |
Log message:
sqlite3: updated to 3.44.2
3.44.1 (2023-11-22):
Change the CLI so that it uses UTF-16 for console I/O on Windows. This enables \
proper display of unicode text on old Windows7 machines.
Other obscure bug fixes.
3.44.2 (2023-11-24):
Fix a mistake in the CLI that was introduced by the fix (item 15 above) in 3.44.1.
Fix a problem in FTS5 that was discovered during internal fuzz testing only \
minutes after the 3.44.1 release was tagged.
Fix incomplete assert() statements that the fuzzer discovered the day after the \
previous release.
Fix a couple of harmless compiler warnings that appeared in debug builds with GCC 16.
|
2023-11-08 14:21:43 by Thomas Klausner | Files touched by this commit (2377) |
Log message:
*: recursive bump for icu 74.1
|
2023-11-01 21:46:04 by Adam Ciarcinski | Files touched by this commit (6) | |
Log message:
sqlite3: updated to 3.44.0
SQLite Release 3.44.0 On 2023-11-01
Aggregate functions can now include an ORDER BY clause after their last \
parameter. The arguments to the function are processed in the order specified. \
This can be important for functions like string_agg() and json_group_array().
Add support for the concat() and concat_ws() scalar SQL functions, compatible \
with PostgreSQL, SQLServer, and MySQL.
Add support for the string_agg() aggregate SQL function, compatible with \
PostgreSQL and SQLServer.
New conversion letters on the strftime() SQL function: %e %F %I %k %l %p %P %R %T %u
Add new C-language APIs: sqlite3_get_clientdata() and sqlite3_set_clientdata().
Many errors associated with CREATE TABLE are now raised when the CREATE TABLE \
statement itself is run, rather than being deferred until the first time the \
table is actually used.
The PRAGMA integrity_check command now verifies the consistency of the content \
in various built-in virtual tables using the new xIntegrity method. This works \
for the FTS3, FTS4, FTS5, RTREE, and GEOPOLY extensions.
The SQLITE_DBCONFIG_DEFENSIVE setting now prevents PRAGMA writable_schema from \
being turned on. Previously writable_schema could be turned on, but would not \
actually allow the schema to be writable. Now it simply cannot be turned on.
Tag the built-in FTS3, FTS4, FTS5, RTREE, and GEOPOLY virtual tables as \
SQLITE_VTAB_INNOCUOUS so that they can be used inside of triggers in \
high-security deployments.
The PRAGMA case_sensitive_like statement is deprecated, as its use when the \
schema contains LIKE operators can lead to reports of database corruption by \
PRAGMA integrity_check.
SQLITE_USE_SEH (Structured Exception Handling) is now enabled by default \
whenever SQLite is built using the Microsoft C compiler. It can be disabled \
using -DSQLITE_USE_SEH=0
Query planner optimizations:
In partial index scans, if the WHERE clause implies a constant value for a table \
column, replace occurrences of that table column with the constant. This \
increases the likelihood of the partial index being a covering index.
Disable the view-scan optimization (added in version 3.42.0 - item 1c) as it was \
causing multiple performance regressions. In its place, reduce the estimated row \
count for DISTINCT subqueries by a factor of 8.
SQLite now performs run-time detection of whether or not the underlying hardware \
supports "long double" with precision greater than "double" \
and uses appropriate floating-point routines depending on what it discovered.
The CLI for Windows now defaults to using UTF-8 for both input and output on \
platforms that support it. The --no-utf8 option is available to disable UTF8 \
support.
|
2023-10-10 18:16:49 by Adam Ciarcinski | Files touched by this commit (6) | |
Log message:
sqlite3: updated to 3.43.2
Changes in this specific patch release, version 3.43.2 (2023-10-10):
Fix a couple of obscure UAF errors and an obscure memory leak.
Omit the use of the sprintf() function from the standard library in the CLI, as \
this now generates warnings on some platforms.
Avoid conversion of a double into unsigned long long integer, as some platforms \
do not do such conversions correctly.
|
2023-09-13 07:33:19 by Adam Ciarcinski | Files touched by this commit (3) |
Log message:
sqlite3: upstream has changed the distfile
|
2023-09-12 21:28:13 by Adam Ciarcinski | Files touched by this commit (7) | |
Log message:
sqlite3: updated to 3.43.1
3.43.1
Fix a regression in the way that the sum(), avg(), and total() aggregate \
functions handle infinities.
Fix a bug in the json_array_length() function that occurs when the argument \
comes directly from json_remove().
Fix the omit-unused-subquery-columns optimization (introduced in in version \
3.42.0) so that it works correctly if the subquery is a compound where one arm \
is DISTINCT and the other is not.
Other minor fixes.
|
2023-08-25 08:48:00 by Adam Ciarcinski | Files touched by this commit (6) | |
Log message:
databases/sqlite3* devel/lemon: updated to 2.43.0
SQLite Release 3.43.0 On 2023-08-24
Add support for Contentless-Delete FTS5 Indexes. This is a variety of FTS5 \
full-text search index that omits storing the content that is being indexed \
while also allowing records to be deleted.
Enhancements to the date and time functions:
Added new time shift modifiers of the form ±YYYY-MM-DD HH:MM:SS.SSS.
Added the timediff() SQL function.
Added the octet_length(X) SQL function.
Added the sqlite3_stmt_explain() API.
Query planner enhancements:
Generalize the LEFT JOIN strength reduction optimization so that it works for \
RIGHT and FULL JOINs as well. Rename it to OUTER JOIN strength reduction.
Enhance the theorem prover in the OUTER JOIN strength reduction optimization so \
that it returns fewer false-negatives.
Enhancements to the decimal extension:
New function decimal_pow2(N) returns the N-th power of 2 for integer N between \
-20000 and +20000.
New function decimal_exp(X) works like decimal(X) except that it returns the \
result in exponential notation - with a "e+NN" at the end.
If X is a floating-point value, then the decimal(X) function now does a full \
expansion of that value into its exact decimal equivalent.
Performance enhancements to JSON processing results in a 2x performance \
improvement for some kinds of processing on large JSON strings.
New makefile target "verify-source" checks to ensure that there are no \
unintentional changes in the source tree. (Works for canonical source code only \
- not for precompiled amalgamation tarballs.)
Added the SQLITE_USE_SEH compile-time option that enables Structured Exception \
Handling on Windows while working with the memory-mapped shm file that is part \
of WAL mode processing. This option is enabled by default when building on \
Windows using Makefile.msc.
The VFS for unix now assumes that the nanosleep() system call is available \
unless compiled with -DHAVE_NANOSLEEP=0.
|