100 check-ins occurring around 1a584e4999.

Add the "sqlite3_imposter DB SCHEMA ROOT SQL" command to sqlite3_checker.
Use it to fix the checkindex01.test module. There are still errors reported
by the checkfreelist01.test module.
check-in: 0593a2ba user: drh tags: checkindex

Move the test scripts for checkfreelist and checkindex over into the
ext/repair/test directory. Run them now using the sqlite3_checker utility
with the --test option. Some tests are currently failing due to an
incomplete port. This is an incremental check-in.
check-in: 17f8d5e1 user: drh tags: checkindex

Fix a race condition in os_unix.c that might allow a client to use a *-shm
file corrupted by a power failure if another client fails between locking the
*-shm file and truncating it to zero bytes.
check-in: d655bfab user: dan tags: readonly-wal-recovery

Update the built procedures for the sqlite3_analyzer utility to allow it
to be linked with an external sqlite3.o library. Automatically detect a
missing dbstat extension and report the compile-time error.
check-in: bb39744f user: drh tags: trunk

Increase the version number for the next release - which is still months
away but there have been significant query planner enhancements since the
previous release.
check-in: 457eedfa user: drh tags: trunk

Reactivate query flattening when the result set of the outer query has
no function calls or subqueries. This is a partial reversal of
check-in [c9104b59]. Co-routines are still preferred if the outer
query has a complex result set, but for simple results sets, query flattening
is used. Check-in [4464f40ccd7] is completely backed
out due to this change.
check-in: d17ef7d1 user: drh tags: trunk

I was a little concerned about this check-in. Though I could not generate a
failure myself, I thought it was risky. I checked it in for further testing.
Then, overnight, OSSFuzz found a failure case for me. So the change is now
moved out into a deadend branch.
Was: Use OP_SCopy rather than OP_Copy to transfer results from a co-routine to
its consumer. This undoes an earlier fix for ticket [98825a79ce] by
check-in [ec6a06246e] because that problem no longer occurs due to WHERE
clause push-down.
Closed-Leaf
check-in: 0926df09 user: drh tags: mistake

Fix a bug causing "make amalgmation-autoconf" to create an invalid package if
either the current or parent directory contains a file named install.sh or
install-sh.
check-in: e1faa785 user: dan tags: trunk

Do not reference the ioctl() system call in the unix backend unless it
is actually needed by the Batch Atomic Write extension. This should allow
the build to work on VxWorks.
check-in: adfa7ed2 user: drh tags: trunk

In lsm (not SQLite), avoid opening the *-shm file before the database file is
locked. Otherwise, there is a race condition whereby a connection in another
process process may unlink() it while it is still in use.
check-in: c8b8b9b5 user: dan tags: trunk

Catch and avoid a 16-bit integer overflow on the number of columns in a
common table expression. This fixes a problem found by OSS-Fuzz. The
test case is in TH3.
check-in: 6ee8cb6a user: drh tags: trunk

Improved ability to generate stand-alone program using TCL and SQLite by
compiling with -DTCLSH_INIT_PROC=name to cause the TCL interpreter to be
initialized using procedure name(). Both sqlite3_analyzer and testfixture
are now built this way.
check-in: d65d1f29 user: drh tags: trunk

Add the tcl/mkccode.tcl script used to construct a single C-language source
fiel for programs that combine C-code, SQLite, and TCL. Use this script to
construct the sqlite3_analyzer program.
check-in: 298a3fdd user: drh tags: trunk

Move a bunch of unrelated test code out of tclsqlite.c and into
test_*.c files. There is still some test code in tclsqlite.c, but the amount
is greatly reduced.
check-in: a9c4bc88 user: drh tags: trunk

When compiling with SQLITE_TEST, extra options are available on the
"DB version" command for controlling the internal state of the SqliteDb
object, for testing purposes.
check-in: bf86478d user: drh tags: tclsqlite-cleanup

Add the experimental "sqlite_expert" extension. Used to find index definitions
that might help with specified SQL queries. (Later:) Parked on a dead-end
branch due to an assertion fault in TH3. We will merge again after the
bug is fixed.
Closed-Leaf
check-in: d1ef9eab user: dan tags: withdrawn