Path to this page:
Subject: CVS commit: pkgsrc
From: Adam Ciarcinski
Date: 2018-04-03 21:58:19
Message id: 20180403195819.C90B4FBEC@cvs.NetBSD.org
Log Message:
sqlite3: updated to 3.23.0
SQLite Release 3.23.0:
Add the sqlite3_serialize() and sqlite3_deserialize() interfaces when the \
SQLITE_ENABLE_DESERIALIZE compile-time option is used.
Recognize TRUE and FALSE as constants. (For compatibility, if there exist \
columns named "true" or "false", then the identifiers refer \
to the columns rather than Boolean constants.)
Support operators IS TRUE, IS FALSE, IS NOT TRUE, and IS NOT FALSE.
Added the SQLITE_DBSTATUS_CACHE_SPILL option to sqlite3_db_status() for \
reporting the number of cache spills that have occurred.
The "alternate-form-2" flag ("!") on the built-in printf \
implementation now causes string substitutions to measure the width and \
precision in characters instead of bytes.
If the xColumn method in a virtual table implementation returns an error message \
using sqlite3_result_error() then give that error message preference over \
internally-generated messages.
Added the -A command-line option to the CLI to make it easier to manage SQLite \
Archive files.
Add support for INSERT OR REPLACE, INSERT OR IGNORE, and UPDATE OR REPLACE in \
the Zipfile virtual table.
Enhance the sqlite3changeset_apply() interface so that it is hardened against \
attacks from deliberately corrupted changeset objects.
Added the sqlite3_normalize() extension function.
Query optimizer enhancements:
Improve the omit-left-join optimization so that it works in cases where the \
right-hand table is UNIQUE but not necessarily NOT NULL.
Improve the push-down optimization so that it works for many LEFT JOINs.
Add the LEFT JOIN strength reduction optimization that converts a LEFT JOIN into \
an ordinary JOIN if there exist terms in the WHERE clause that would prevent the \
extra all-NULL row of the LEFT JOIN from appearing in the output set.
Avoid unnecessary writes to the sqlite_sequence table when an AUTOINCREMENT \
table is updated with an rowid that is less than the maximum.
Bug fixes:
Fix the parser to accept valid row value syntax.
Fix the query planner so that it takes into account dependencies in the \
arguments to table-valued functions in subexpressions in the WHERE clause.
Fix incorrect result with complex OR-connected WHERE and STAT4.
Fix potential corruption in indexes on expressions due to automatic datatype \
conversions.
Assertion fault in FTS4.
Incorrect result on the less-than operator in row values.
Always interpret non-zero floating-point values as TRUE, even if the integer \
part is zero.
Fix an issue in the fsdir(PATH) table-valued function to the fileio.c extension, \
that caused a segfault if the fsdir() table was used as the inner table of a \
join.
Issue an error rather instead of an assertion-fault or null-pointer dereference \
when the sqlite_master table is corrupted so that the sqlite_sequence table root \
page is really a btree-index page.
Fix the ANALYZE command so that it computes statistics on tables whose names \
begin with "sqlite".
Additional fixes for issues detected by OSSFuzz:
Fix a possible infinite loop on VACUUM for corrupt database files.
Disallow parameters in the WITH clause of triggers and views.
Fix a potential memory leak in row value processing.
Improve the performance of the replace() SQL function for cases where there are \
many substitutions on megabyte-sized strings, in an attempt to avoid OSSFuzz \
timeouts during testing.
Provide an appropriate error message when the sqlite_master table contains a \
CREATE TABLE AS statement. Formerly this caused either an assertion fault or \
null pointer dereference. Problem found by OSSFuzz on the GDAL project.
Incorrect assert() statement removed.
Fix a problem with using the LIKE optimization on an INTEGER PRIMARY KEY.
Files: