In the amalgamation, allocate the parser engine object from stack rather than
from heap, for improved performance. This only happens in the amalgamation,
since otherwise the sqlite3RunParser() routine does not know the object size.
(check-in: 4fe879d4 user: drh tags: trunk)

In the command-line shell, enhance the ".mode" command so that it restores the
default column and row separators for modes "line", "list", "column", and
"tcl".
(check-in: 58f02e6e user: drh tags: trunk)

Simplify the accessPayload() routine so that it always populates the overflow
page cache. In the one case where populating the page cache can lead to
problems, simply invalidate the cache as soon as accessPayload() returns.
This simplification reduces code size and helps accessPayload() to run a
little faster. This backs out the eOp==2 mode of accessPayload() added by
check-in [da59198505].
(check-in: 68e7a8c6 user: drh tags: trunk)

Modify the ICU extension to use a static initializer, as VC++ complains about
a dynamic initialization. Maybe the dynamic structure initialization is a
GCC extension. This fixes a problem identified on the SQLite mailing list
by Ziemowit Laski.
(check-in: 50e60cb4 user: drh tags: trunk)

Trim NULL values off the end of records when the SQLITE_ENABLE_NULL_TRIM
compile-time option is used. Increase the size of the P5 operand to 16 bits.
Fix a problem with short records in the sessions extension.
(check-in: 4801bd59 user: drh tags: trunk)

Experimental enhancement to automatically trim NULL values from the end of
records, for a reduced disk footprint. This change also involves increasing
the P5 operand from 8 to 16 bits.
(check-in: 118ded40 user: drh tags: trim-nulls)

Document the --mmap option in the --help screen for kvtest. Enhance kvtest so
that numeric arguments can have suffixes like "K" or "M". Add kvtest to the
unix makefiles.
(check-in: 175bda87 user: drh tags: trunk)

B-tree optimization: When seeking on a rowid table that has already been
positioned, check to see if the new row happens to be the next row on the
same leaf page. That is a reasonably common case, and if it is true it
avoids a full binary search.
(check-in: 8e5cfb20 user: drh tags: btree-moveto-neighbor)

In the kvtest.c test utility, reuse the buffer into which blobs are read,
rather than reallocating it for each row. This is a closer match to how
other test programs work, and thus provides a better comparison.
(check-in: 0d1ad13a user: drh tags: trunk)

A proof-of-concept for running sqlite3_blob_open() without using OP_Column
when operating on a pure key/value table. This demo does not include any
corrupt database checking. Uses about 3% fewer CPU cycles on a key/value
performance test.
(Leaf
check-in: 4cda3b30 user: drh tags: kv-access-opt-demo)

If compiled with SQLITE_INLINE_MEMCPY, all memcpy() calls are replaced with
in-line code. With that change, cachegrind shows which memcpy() calls
are taking the most time. This is a performance-measurement hack only and
is not for production use.
(check-in: 9ed38521 user: drh tags: trunk)

Fix a problem that could cause a spurious SQLITE_NOMEM error when attempting
to resume an RBU operation if the previous client failed right after
completing the incremental checkpoint. Also a "cannot vacuum wal db" error
that could occur when resuming an RBU vacuum if an error (OOM or IO error)
occurs during the incremental checkpoint.
(check-in: 681d96eb user: dan tags: trunk)

Disable intrinsic functions for Windows using Clang, due to reports of
linkage errors. This causes a 0.6% performance reduction. We will want to
revisit this change in the future.
(check-in: 7fd560c6 user: drh tags: trunk)

Back out check-in [0b3174e0b1364c] and replace it with a better fix for \ticket [91e2e8ba6ff2e2] - a fix that does not cause the problem identified by
ticket [7ffd1ca1d2ad4ec]. Add new test cases for both tickets.
(check-in: 9b64af7b user: drh tags: trunk)

Back out check-in [0b3174e0b1364c] and replace it with a better fix
for ticket [91e2e8ba6ff2e2] - a fix that does not cause the problem
identified by ticket [7ffd1ca1d2ad4ec].
(Closed-Leaf
check-in: 06136652 user: drh tags: automatic-index-affinity)