Fix corner-case memory management issues in table-valued functions. Change
virtual table handling so that if xDestroy is missing the table is
eponymous only even if xCreate is present.
(check-in: 774e6a14 user: drh tags: trunk)

When committing an unlocked transaction, relocate newly allocated database pages within the file to avoid conflicting with committed transactions. There are lots of things still to fix in this code.
(check-in: 3bbc31d5 user: dan tags: begin-concurrent)

Fix eponymous virtual tables so that they do not automatically make the first
column the rowid. Enhance the generate_series virtual table to support rowid.
(check-in: a325a085 user: drh tags: table-valued-functions)

Provide hints for all terms in a range constraint if there are any equality
terms anywhere in the constraint. Range constraint terms are only omitted
for a pure range constraint with no equality prefix.
(check-in: b5897bc0 user: drh tags: cursor-hints)

Avoid generating hints using constraints that are also used to initialize the
cursor, since presumably the cursor already knows about those constraints.
(check-in: 142b048a user: drh tags: cursor-hints)

Updated testing of cursor-hints. Remove the test_cursorhint.c file and
associated logic in the core and do tests based purely on the newly enhanced
EXPLAIN output.
(check-in: bf383e66 user: drh tags: cursor-hints)

When searching the wal file for a frame, do not search that part that was already checkpointed when the snapshot being read was at the head of the wal file.
(check-in: 90760e72 user: dan tags: wal-read-change)

Add the xPhraseFirst() and xPhraseNext() fts5 APIs, for faster iteration through a single phrases position list. Also optimize xInst() and xInstCount() a bit.
(check-in: f7682435 user: dan tags: trunk)

Within a write-transaction on a wal database in mmap mode, check the page-cache for an entry before the wal file. This can be faster if the wal file is very large.
(Leaf
check-in: 3a82c8e6 user: dan tags: mmap-wal-bigtrans)

Update the spellfix virtual table extension so that an explicit "top = ?" constraint works even if there is also a "distance < ?" or "distance <= ?" constraint.
(check-in: 08888383 user: dan tags: trunk)

Update the [showdb] program so that the database file is read directly (bypassing the SQLite VFS) only if the --raw option is specified. Otherwise, it is read using the default VFS. Also, the URI syntax may be used on the command line to specify the name of the database file to examine, so an alternative VFS may be requested using a URI parameter.
(check-in: e3c6d4b6 user: dan tags: trunk)

Update the [showdb] program so that the database file is read directly (bypassing the SQLite VFS) only if the --raw option is specified. Otherwise, it is read using the default VFS. An alternative VFS may be specified by specifying the database file to open using the URI syntax.
(Closed-Leaf
check-in: 9699e9bd user: dan tags: showdb-uri-option)

Add the "--uri" option to utility program "showdb". This option causes showdb to use sqlite with the SQLITE_OPEN_URI option to open the database file, instead of opening it directly using the OS open() function.
(check-in: 90e34d51 user: dan tags: showdb-uri-option)

Allow a VIEW to reference undefined tables and functions when initially
created. The error report is deferred until the VIEW is used. This allows
views to be created before subviews and tables that the view references.
(check-in: 70b57daf user: drh tags: trunk)

Fix the sqlite3_stmt_busy() interface so that it always returns FALSE after
the statement has returned SQLITE_DONE, even for ROLLBACK statements.
Clarify the documentation.
(check-in: 047d3475 user: drh tags: trunk)