Convert the tool/tostr.awk script into tool/tostr.tcl. Remove two obsolete
Makefiles. Purge NAWK from the configure script and from unix makefiles.
There are still two uses of NAWK in Makefile.msc.
(check-in: 5b677521 user: drh tags: omit-awk)

Update fts3 so that expressions to the left and right of a NOT operator are balanced. This prevents relatively small expressions (a dozen terms or so) that are children of NOT operators from triggering the "expression tree is too large" error.
(check-in: d6b66cd7 user: dan tags: trunk)

Changes to the sesssions module ensure that tables appear within changesets and patchsets in the same order that they were attached to the sessions object.
(check-in: 76958902 user: dan tags: sessions)

Use symbolic names XN_ROWID and XN_EXPR in place of the (-1) and (-2)
magic numbers in Index.aiColumn[]. Add asserts to help verify that
Index.aiColumn[] is always used correctly. Fix one place in FK processing
where Index.aiColumn[] was not being used correctly.
(check-in: 7d272aa6 user: drh tags: trunk)

Add the sqlite3_index_info.idxFlags field, allowing xBestIndex() implementations to specify to SQLite that a strategy may visit at most one row. Add support for this to fts3/4. Omit the statement journal from virtual table UPDATE and DELETE operations that are guaranteed not to affect more than one row.
(check-in: a1d08fd3 user: dan tags: trunk)

Ensure that the xSavepoint() virtual table method is correctly invoked if there are already open savepoints (or statement transactions) the first time a virtual table is written within a transaction.
(check-in: 77948b5e user: dan tags: trunk)

Fix threads.c so that setting sqlite3FaultSim(200) using the
SQLITE_TESTCTRL_FAULT_INSTALL callback causes both unix and windows worker
threads to be sequential and deterministic, so that they can be tested
reliably.
(check-in: 2d867c05 user: drh tags: trunk)