100 check-ins occurring around ef08ecceb7e237a0.

Add comments to sqlite3ota.h to make it clear that passing NULL in place of a parent VFS name to sqlite3ota_create_vfs() causes the new VFS to use the system default as its parent.
check-in: 158c1a48 user: dan tags: ota-update

Clean up #ifdef logic dealing with VxWorks in os_unix.c. On VxWorks,
automatically use posix advisory locking if it is available or fall back
to named semaphore locking if not.
check-in: ac8c7ca3 user: drh tags: trunk

Changes so that the amalgamation and the command-line shell build without
modifications on VxWorks 7. Still gives a few compiler warnings, and still
mostly untested on that platform.
check-in: 7d92f1f1 user: drh tags: trunk

Make sure partial indexes are not qualified incorrectly by a constraint that
is inside the ON clause of a LEFT JOIN. Fix for ticket [2326c258d02ead33].
Cherry-pick from [491cfe9b3f87f].
check-in: 9d94ac6a user: drh tags: branch-3.8.8

Prevent partial indexes on the table on the left hand side of a LEFT JOIN from being incorrectly qualified by a constraint in the ON clause of the join. This relaxes the rule introduced by the previous commit (as the partial indexes on the table on the rhs of the LEFT JOIN may now be qualified by terms within the ON clause).
check-in: 1d6fb43a user: dan tags: trunk

This additional fix prevents a partial index from being qualified for use
if the constraint that qualifies the partial index is part of the ON clause of
a LEFT JOIN.
check-in: 1a1516e4 user: drh tags: tkt-2326c258

Make sure partial automatic indexes are not based on terms in the ON clause
of a LEFT JOIN. Fix for ticket [2326c258d02ead3].
UPDATE: This fix does not work where the partial index is a named index.
check-in: c0f4e308 user: drh tags: tkt-2326c258

Update document on sqlite3_mprintf() and related functions. Discuss the
%w format and point out that obscure ANSI-C formats are not supported.
No changes to code.
check-in: f8917ba4 user: drh tags: trunk

Keep track of the optimal number of reserved bytes (by looking at reserve
byte requests in calls to sqlite3BtreeSetPageSize()) and then change the
reserve byte count to the optimal when doing a VACUUM or when using the
backup API.
check-in: 28c2b726 user: drh tags: trunk

Propagate COLLATE operators upward through function calls and CASE operations.
And do not flatten an aggregate subquery into a query that uses other
subqueries. Fixes for tickets [ca0d20b6cdddec5] and
[2f7170d73bf9], respectively.
check-in: 24e78b8d user: drh tags: trunk

Disable the query flattener for aggregate subqueries if the parent query
uses other subqueries in its result set or WHERE clause or ORDER BY clause.
Preliminary fix for ticket [2f7170d73bf9abf8]. However it still contains
a defect similar to the COLLATE problem of [ca0d20b6cddd].
check-in: 0b7d65e3 user: drh tags: tkt-2f7170d7

In selecttrace 0x100 mode, show the parse tree after name resolution instead
of before flattening, so that it is always seen even if flattening does not
occur. Also: add the hex pointer value to the top of each SELECT tree.
check-in: aa093fef user: drh tags: trunk