Path to this page:
Subject: CVS commit: pkgsrc
From: Adam Ciarcinski
Date: 2017-08-02 18:14:59
Message id: 20170802161459.1A72AFACD@cvs.NetBSD.org
Log Message:
Release 3.20.0:
1. Update the text of error messages returned by sqlite3_errmsg() for some error \
codes.
2. Add new pointer passing interfaces.
3. Backwards-incompatible changes to some extensions in order to take advantage \
of the improved security offered by the new pointer passing interfaces:
a. Extending FTS5 â requires sqlite3_bind_pointer() to find the fts5_api \
pointer.
b. carray(PTR,N) â requires sqlite3_bind_pointer() to set the PTR parameter.
c. remember(V,PTR) â requires sqlite3_bind_pointer() to set the PTR parameter.
4. Added the SQLITE_STMT virtual table extension.
5. Added the COMPLETION extension - designed to suggest tab-completions for \
interactive user interfaces. This is a work in progress. Expect further \
enhancements in future releases.
6. Added the UNION virtual table extension.
7. The built-in date and time functions have been enhanced so that they can be \
used in CHECK constraints, in indexes on expressions, and in the WHERE clauses \
of partial indexes, provided that they do not use the 'now', 'localtime', or \
'utc' keywords. Futher information.
8. Added the sqlite3_prepare_v3() and sqlite3_prepare16_v3() interfaces with the \
extra "prepFlags" parameters.
9. Provide the SQLITE_PREPARE_PERSISTENT flag for sqlite3_prepare_v3() and use \
it to limit lookaside memory misuse by FTS3, FTS5, and the R-Tree extension.
10. Added the PRAGMA secure_delete=FAST command. When secure_delete is set to \
FAST, old content is overwritten with zeros as long as that does not increase \
the amount of I/O. Deleted content might still persist on the free-page list but \
will be purged from all b-tree pages.
11. Enhancements to the command-line shell:
a. Add support for tab-completion using the COMPLETION extension, for both \
readline and linenoise.
b. Add the ".cd" command.
c. Enhance the ".schema" command to show the schema of all attached \
databases.
d. Enhance ".tables" so that it shows the schema names for all \
attached if the name is anything other than "main".
e. The ".import" command ignores an initial UTF-8 BOM.
f. Added the "--newlines" option to the ".dump" command to \
cause U+000a and U+000d characters to be output literally rather than escaped \
using the replace() function.
12. Query planner enhancements:
a. When generating individual loops for each ORed term of an OR scan, move any \
constant WHERE expressions outside of the loop, as is done for top-level loops.
b. The query planner examines the values of bound parameters to help determine \
if a partial index is usable.
c. When deciding between two plans with the same estimated cost, bias the \
selection toward the one that does not use the sorter.
d. Evaluate WHERE clause constraints involving correlated subqueries last, in \
the hope that they never have be evaluated at all.
e. Do not use the flattening optimization for a sub-query on the RHS of a LEFT \
JOIN if that subquery reads data from a virtual table as doing so prevents the \
query planner from creating automatic indexes on the results of the sub-query, \
which can slow down the query.
13. Add SQLITE_STMTSTATUS_REPREPARE, SQLITE_STMTSTATUS_RUN, and \
SQLITE_STMTSTATUS_MEMUSED options for the sqlite3_stmt_status() interface.
14. Provide PRAGMA functions for PRAGMA integrity_check, PRAGMA quick_check, and \
PRAGMA foreign_key_check.
15. Add the -withoutnulls option to the TCL interface eval method.
16. Enhance the sqlite3_analyzer.exe utility program so that it shows the number \
of bytes of metadata on btree pages.
17. The SQLITE_DBCONFIG_ENABLE_QPSG run-time option and the SQLITE_ENABLE_QPSG \
compile-time option enable the query planner stability guarantee. See also \
ticket 892fc34f173e99d8
18. Miscellaneous optimizations result in a 2% reduction in CPU cycles used.
Bug Fixes:
19. Fix the behavior of sqlite3_column_name() for queries that use the \
flattening optimization so that the result is consistent with other queries that \
do not use that optimization, and with PostgreSQL, MySQL, and SQLServer. Ticket \
de3403bf5ae.
20. Fix the query planner so that it knows not to use automatic indexes on the \
right table of LEFT JOIN if the WHERE clause uses the IS operator. Fix for \
ce68383bf6aba.
21. Ensure that the query planner knows that any column of a flattened LEFT JOIN \
can be NULL even if that column is labeled with "NOT NULL". Fix for \
ticket 892fc34f173e99d8.
22. Fix rare false-positives in PRAGMA integrity_check when run on a database \
connection with attached databases. Ticket a4e06e75a9ab61a12
23. Fix a bug (discovered by OSSFuzz) that causes an assertion fault if certain \
dodgy CREATE TABLE declarations are used.
Files: