Backport the [67bf1c9a88] fix for vanishing WAL transactions due to small
cache spillage. Ticket [2d1a5c67dfc236]. Also bump the version number
to 3.7.6.3 in preparation for patch release.
check-in: e4d0f7ac user: drh tags: branch-3.7.6

When committing a WAL transaction, make sure at least one page is
written to the WAL file so that the WAL subsystem will have a page
on which to set the commit flag.
Ticket [2d1a5c67dfc236].
check-in: 67bf1c9a user: drh tags: trunk

Add extended return code SQLITE_CORRUPT_VTAB. Returned when the tcontents of the sqlite tables used internally by a virtual table module are invalid or inconsistent.
check-in: 8844e8bf user: dan tags: trunk

Make arrangements so that virtual table inserts into shadow tables do
not modify the sqlite3_last_insert_rowid() return. Document that this
is how sqlite3_last_insert_rowid() works.
check-in: e569f18b user: drh tags: trunk

Rather than document goofy behavior, it seems better to make the behavior
less goofy. (Was:
Updates to the sqlite3_last_insert_rowid() documentation - to make it clear
that the function does not work for virtual tables.)
Closed-Leaf
check-in: f88dfac3 user: drh tags: mistake

Pull in the patches to support read-only WAL databases into a new branch
off of the apple-osx branch. This also pulls in all the other pending
3.7.7 changes such as URI support.
check-in: 97b98010 user: drh tags: apple-wal-readonly

Only open a read-only connection to shared-memory if the "readonly_shm=1" option is specified as part of the database file URI (and if a read-write connection fails).
check-in: 671ba5fc user: dan tags: wal-readonly

Have flags passed to sqlite3_open_v2() apply to the main and any attached databases. And change things so that any "mode=xxx" or "cache=xxx" options specified as part of a URI for the main database do not also apply to attached databases.
check-in: 3e490915 user: dan tags: trunk

Provide the ability to specify an alternative mutex subsystem at
compile-time. - This check-in should have gone on the trunk, not
on the 3.7.6 branch.
Closed-Leaf
check-in: 489c453d user: drh tags: mistake

Return a suitable error message if the mode= argument to a URI specifies
a higher mode than what is allowed by context. Other minor cleanups for
the URI parsing logic.
check-in: d9bc1c7f user: drh tags: trunk

Remove some unnecessary modifications from the uri branch. Add a test to show that ATTACH only interprets its argument as a URI if the connection was opened with SQLITE_OPEN_URI (or URI interpretation is globally enabled).
Closed-Leaf
check-in: aa90b943 user: dan tags: uri

Increase the iVersion for sqlite3_module needed for the xSavepoint,
xRelease, and xRollbackTo methods from 1 to 2. This is so that it will
conform to published documentation.
check-in: 0f4954e9 user: drh tags: trunk

Have the xFullpath method in os_win.c discard the initial "/" if a filename begins with "/X:", where X is any alphabetic character. Also fix some test issues in uri.test.
check-in: fe57a8f6 user: dan tags: uri

Bump the version number to 3.7.7 on account of the new sqlite3_vtab_config()
and sqlite3_vtab_on_conflict() interfaces. Updates to the documentation on
those interfaces.
check-in: 930be6a1 user: drh tags: trunk

Backport check-ins [0900e35348f4b9bf3] and [4fead8e714c7e50] to the 3.7.2
branch. These check-ins provide hints to the btree layer for when it is
possible to use a hash table rather than a btree to implement an index.
The SQLite BTree layer does not use these hints, but alternative btree layers
might.
check-in: 7155e6f3 user: drh tags: branch-3.7.2

Add documentation for the newly introduced sqlite3_vtab_config() and on_conflict() API functions. Test that encountering an SQLITE_MISMATCH in fts3 does not corrupt the full text index.
check-in: abdd70ae user: dan tags: vtab-conflict

Change the prototype for the open() system call to agree with Posix.
Though a faulty function prototype in a pointer cast is a seemingly innocuous
error, the correct prototype is necessary for pthreads to work correctly
on NetBSD.
check-in: 986f2f25 user: drh tags: branch-3.7.6

Change the prototype for the open() system call to agree with Posix. Though
a faulty function prototype in a pointer cast is a seemingly innocuous error,
the correct prototype is necessary for pthreads to work correctly on NetBSD.
check-in: 3e135748 user: drh tags: trunk

Backport check-in [9f9f32882501ac9] to provide EXPLAIN QUERY PLAN output for
the count(*) optimization. Also backport check-in [a8761a9128de945aa] to
prevent unordered indices from being used on a full table scan. The first
backport was necessary in order to test the second.
check-in: 8d924e16 user: drh tags: branch-3.7.2