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:
RevisionActionfile
1.122modifypkgsrc/databases/sqlite3/Makefile
1.52modifypkgsrc/databases/sqlite3/Makefile.common
1.141modifypkgsrc/databases/sqlite3/distinfo
1.44modifypkgsrc/databases/sqlite3-docs/Makefile
1.75modifypkgsrc/databases/sqlite3-docs/PLIST
1.76modifypkgsrc/databases/sqlite3-docs/distinfo
1.91modifypkgsrc/databases/sqlite3-tcl/Makefile
1.88modifypkgsrc/databases/sqlite3-tcl/distinfo
1.4modifypkgsrc/devel/lemon/Makefile
1.17modifypkgsrc/devel/lemon/distinfo
1.38removepkgsrc/databases/sqlite3/Makefile.version