Ensure that BtreeMovetoUnpacked() does not try to invoke xRecordCompare when it is set to NULL.
Fix an assert() so that it takes OOM errors into account.
Fix a potential memory use-after-free problem following an OOM error.
Fix a problem with "DEFAULT (-(-9223372036854775808))" clauses in ALTER TABLE ... ADD COLUMN commands.
Avoid indexing off the front end of an array when creating a view with
two or more blank column names in the SELECT statement that defines the view.
Experimental simplification of memory flags/type handling.
Do not run corruptI.test with the mmap permutation.
Remove the redundant memType field from struct Mem.
Separate the column NULL value constant into a separate routine for greater
commonality with the sessions branch.
When converting a result type from TEXT to BLOB using the
sqlite3_value_blob() interface, continue to report SQLITE_TEXT as
the true type from sqlite3_value_text() as long as that text is still
valid.  The maintains legacy behavior from before the noMemType change.
Merge in various obscure bug fixes and the removal of Mem.memType from trunk.
Add a test case for the problem fixed by [1d134ba2ed].
Count the number of elements in a SrcList object using an "int" rather than
a "u8", to avoid overflows and to work around an issue in the C compiler on
AIX.
Add tests to join.test to verify that it is not possible to use more than 64 tables in a join.
Add SQLITE_OMIT_CTE to the list of compile options that might be returned by "PRAGMA compile_options".
Fix a harmless compiler warning on MSVC.
Avoid running a couple of test cases that use realloc() extensively if SQLITE_MEMDEBUG is defined.
Always include the ctype.h header in the spellfix.c extension.
Merge compiler-warning fixes from trunk.