100 check-ins occurring around c489d8e44eac4cd3.

When compiling with SQLITE_DEBUG, add run-time checks to ensure that no
statement aborts unless either there have been no writes or else there is
a statement journal.
(check-in: 5a4542db user: drh tags: stmt-journal-testing)

Experimental change that allows overloaded functions to be analyzed by
the xBestIndex method and used by the xFilter method of a virtual table.
(Leaf
check-in: a353b1d7 user: drh tags: vtab-func-constraint)

This is an untested proof-of-concept for enhancements to RTree that attempt
to use sqlite3_value_nochange() to reduce the amount of work associated with
UPDATE operations in cases where either the coordinates or the auxiliary data
is unchanged.
(Leaf
check-in: 6f7cfeff user: drh tags: rtree-update-optimization)

When doing a one-pass UPDATE or DELETE on virtual tables, close the cursor
prior to running VUpdate. This allows one-pass to work on virtual tables
that do not allow concurrent reads and writes. Enhance rtree to take
advantage of this new capability.
(check-in: b816023c user: drh tags: trunk)

Do not allow RTree writes when a read cursor is active on the same virtual
table, as the writes might rebalance and disrupt the read cursors. Return
the new SQLITE_LOCKED_VTAB error code if this happens.
(check-in: d4ce6661 user: drh tags: trunk)

In the OOM testing logic, add the sqlite3FirstFault() routine as a place to
set a breakpoint the first time any simulated OOM fault occurs for a single
test case.
(check-in: b4d80bd2 user: drh tags: trunk)

Verify that the sqlite_sequence table exists and is in approximately the
correct format prior to using it to process an autoincrement table.
Fix for ticket [d8dc2b3a58cd5dc2918a1d4a].
(check-in: e199e859 user: drh tags: trunk)

Evaluate multiple window functions in a single pass if they use the same
window definition. Add xValue callbacks for other built-in aggregate
functions.
(check-in: c9f0f140 user: dan tags: exp-window-functions)

Initial implementation of the ability to have auxiliary columns in an rtree
virtual table that store arbitrary content. It mostly works, but there are
some minor issues in OOM corner cases.
(check-in: 0c87fec9 user: drh tags: aux-data-in-rtree)

The restriction on using automatic indexes for low cardinality loops only
applies if the cardinality is restricted by a LIMIT clause.
(Closed-Leaf
check-in: 991a76bf user: drh tags: exp-indexed-clause)

Experimental syntax enhancement for an "INDEXED" keyword following a FROM-clause
subquery that indicates that an automatic index on that subquery is suggested.
(check-in: 32b3d110 user: drh tags: exp-indexed-clause)

Add test cases for geopoly_overlap().
(Later:) This branch is closed and the development of the geopoly logic
is moved to the rtree-geopoly branch.
(Closed-Leaf
check-in: 39209251 user: drh tags: geojson)

In the CLI, allow comment lines that begin with '#', but only in a context
where a dot-command is allowed. In other words, '#' at the beginning of a
line in the middle of an SQL statement is just part of the SQL.
(check-in: 4ee136d6 user: drh tags: trunk)

Make the internal dynamic string interface available to extensions using
the new sqlite3_str object and its associated methods. This is mostly just
a renaming of internal objects and methods to use external names, through
there are a few small wrapper functions.
(check-in: 87f261f0 user: drh tags: trunk)