| Index: third_party/sqlite/src/main.mk
 | 
| diff --git a/third_party/sqlite/src/main.mk b/third_party/sqlite/src/main.mk
 | 
| index 2a8da33266c9ecf6601ef89e0342e3d0d8a1a162..a8e8ffe27562654ddc8af50720aabfd75018de3f 100644
 | 
| --- a/third_party/sqlite/src/main.mk
 | 
| +++ b/third_party/sqlite/src/main.mk
 | 
| @@ -46,6 +46,7 @@
 | 
|  TCCX =  $(TCC) $(OPTS) -I. -I$(TOP)/src -I$(TOP) 
 | 
|  TCCX += -I$(TOP)/ext/rtree -I$(TOP)/ext/icu -I$(TOP)/ext/fts3
 | 
|  TCCX += -I$(TOP)/ext/async -I$(TOP)/ext/userauth
 | 
| +TCCX += -I$(TOP)/ext/session
 | 
|  TCCX += -I$(TOP)/ext/fts5
 | 
|  THREADLIB += $(LIBS)
 | 
|  
 | 
| @@ -61,20 +62,22 @@ LIBOBJ+= vdbe.o parse.o \
 | 
|           fts3_tokenize_vtab.o \
 | 
|  	 fts3_unicode.o fts3_unicode2.o \
 | 
|           fts3_write.o fts5.o func.o global.o hash.o \
 | 
| -         icu.o insert.o journal.o json1.o legacy.o loadext.o \
 | 
| +         icu.o insert.o json1.o legacy.o loadext.o \
 | 
|           main.o malloc.o mem0.o mem1.o mem2.o mem3.o mem5.o \
 | 
|           memjournal.o \
 | 
|           mutex.o mutex_noop.o mutex_unix.o mutex_w32.o \
 | 
|           notify.o opcodes.o os.o os_unix.o os_win.o \
 | 
|           pager.o pcache.o pcache1.o pragma.o prepare.o printf.o \
 | 
| -         random.o recover.o recover_varint.o resolve.o rowset.o rtree.o \
 | 
| -         select.o sqlite3rbu.o status.o \
 | 
| +         random.o resolve.o rowset.o rtree.o select.o sqlite3rbu.o status.o \
 | 
|           table.o threads.o tokenize.o treeview.o trigger.o \
 | 
|           update.o userauth.o util.o vacuum.o \
 | 
|           vdbeapi.o vdbeaux.o vdbeblob.o vdbemem.o vdbesort.o \
 | 
|  	 vdbetrace.o wal.o walker.o where.o wherecode.o whereexpr.o \
 | 
|           utf.o vtab.o
 | 
|  
 | 
| +LIBOBJ += recover.o recover_varint.o resolve.o
 | 
| +
 | 
| +LIBOBJ += sqlite3session.o
 | 
|  
 | 
|  # All of the source code files.
 | 
|  #
 | 
| @@ -105,7 +108,6 @@ SRC = \
 | 
|    $(TOP)/src/hash.h \
 | 
|    $(TOP)/src/hwtime.h \
 | 
|    $(TOP)/src/insert.c \
 | 
| -  $(TOP)/src/journal.c \
 | 
|    $(TOP)/src/legacy.c \
 | 
|    $(TOP)/src/loadext.c \
 | 
|    $(TOP)/src/main.c \
 | 
| @@ -225,6 +227,9 @@ SRC += \
 | 
|    $(TOP)/ext/rtree/rtree.h \
 | 
|    $(TOP)/ext/rtree/rtree.c
 | 
|  SRC += \
 | 
| +  $(TOP)/ext/session/sqlite3session.c \
 | 
| +  $(TOP)/ext/session/sqlite3session.h
 | 
| +SRC += \
 | 
|    $(TOP)/ext/userauth/userauth.c \
 | 
|    $(TOP)/ext/userauth/sqlite3userauth.h 
 | 
|  SRC += \
 | 
| @@ -286,9 +291,11 @@ TESTSRC = \
 | 
|    $(TOP)/src/test_autoext.c \
 | 
|    $(TOP)/src/test_async.c \
 | 
|    $(TOP)/src/test_backup.c \
 | 
| +  $(TOP)/src/test_bestindex.c \
 | 
|    $(TOP)/src/test_blob.c \
 | 
|    $(TOP)/src/test_btree.c \
 | 
|    $(TOP)/src/test_config.c \
 | 
| +  $(TOP)/src/test_delete.c \
 | 
|    $(TOP)/src/test_demovfs.c \
 | 
|    $(TOP)/src/test_devsym.c \
 | 
|    $(TOP)/src/test_fs.c \
 | 
| @@ -320,7 +327,9 @@ TESTSRC = \
 | 
|  #
 | 
|  TESTSRC += \
 | 
|    $(TOP)/ext/misc/amatch.c \
 | 
| +  $(TOP)/ext/misc/carray.c \
 | 
|    $(TOP)/ext/misc/closure.c \
 | 
| +  $(TOP)/ext/misc/csv.c \
 | 
|    $(TOP)/ext/misc/eval.c \
 | 
|    $(TOP)/ext/misc/fileio.c \
 | 
|    $(TOP)/ext/misc/fuzzer.c \
 | 
| @@ -328,13 +337,15 @@ TESTSRC += \
 | 
|    $(TOP)/ext/misc/nextchar.c \
 | 
|    $(TOP)/ext/misc/percentile.c \
 | 
|    $(TOP)/ext/misc/regexp.c \
 | 
| +  $(TOP)/ext/misc/remember.c \
 | 
|    $(TOP)/ext/misc/series.c \
 | 
|    $(TOP)/ext/misc/spellfix.c \
 | 
|    $(TOP)/ext/misc/totype.c \
 | 
|    $(TOP)/ext/misc/wholenumber.c \
 | 
|    $(TOP)/ext/misc/vfslog.c \
 | 
|    $(TOP)/ext/fts5/fts5_tcl.c \
 | 
| -  $(TOP)/ext/fts5/fts5_test_mi.c
 | 
| +  $(TOP)/ext/fts5/fts5_test_mi.c \
 | 
| +  $(TOP)/ext/fts5/fts5_test_tok.c 
 | 
|  
 | 
|  
 | 
|  #TESTSRC += $(TOP)/ext/fts2/fts2_tokenizer.c
 | 
| @@ -383,7 +394,9 @@ TESTSRC2 = \
 | 
|    $(TOP)/ext/fts3/fts3_expr.c \
 | 
|    $(TOP)/ext/fts3/fts3_tokenizer.c \
 | 
|    $(TOP)/ext/fts3/fts3_write.c \
 | 
| -  $(TOP)/ext/async/sqlite3async.c
 | 
| +  $(TOP)/ext/async/sqlite3async.c \
 | 
| +  $(TOP)/ext/session/sqlite3session.c \
 | 
| +  $(TOP)/ext/session/test_session.c 
 | 
|  
 | 
|  # Header files used by all library source files.
 | 
|  #
 | 
| @@ -445,7 +458,8 @@ TESTPROGS = \
 | 
|    testfixture$(EXE) \
 | 
|    sqlite3$(EXE) \
 | 
|    sqlite3_analyzer$(EXE) \
 | 
| -  sqldiff$(EXE)
 | 
| +  sqldiff$(EXE) \
 | 
| +  dbhash$(EXE)
 | 
|  
 | 
|  # Databases containing fuzzer test cases
 | 
|  #
 | 
| @@ -453,7 +467,8 @@ FUZZDATA = \
 | 
|    $(TOP)/test/fuzzdata1.db \
 | 
|    $(TOP)/test/fuzzdata2.db \
 | 
|    $(TOP)/test/fuzzdata3.db \
 | 
| -  $(TOP)/test/fuzzdata4.db
 | 
| +  $(TOP)/test/fuzzdata4.db \
 | 
| +  $(TOP)/test/fuzzdata5.db
 | 
|  
 | 
|  # Standard options to testfixture
 | 
|  #
 | 
| @@ -462,8 +477,15 @@ TESTOPTS = --verbose=file --output=test-out.txt
 | 
|  # Extra compiler options for various shell tools
 | 
|  #
 | 
|  SHELL_OPT = -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5
 | 
| +SHELL_OPT += -DSQLITE_ENABLE_EXPLAIN_COMMENTS
 | 
| +SHELL_OPT += -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION
 | 
|  FUZZERSHELL_OPT = -DSQLITE_ENABLE_JSON1
 | 
|  FUZZCHECK_OPT = -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMSYS5
 | 
| +DBFUZZ_OPT =
 | 
| +KV_OPT = -DSQLITE_THREADSAFE=0 -DSQLITE_DIRECT_OVERFLOW_READ
 | 
| +DBSELFTEST_OPT = -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION
 | 
| +DBSELFTEST_OPT += -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5
 | 
| +ST_OPT = -DSQLITE_THREADSAFE=0
 | 
|  
 | 
|  # This is the default Makefile target.  The objects listed here
 | 
|  # are what get build when you type just "make" with no arguments.
 | 
| @@ -482,24 +504,46 @@ sqldiff$(EXE):	$(TOP)/tool/sqldiff.c sqlite3.c sqlite3.h
 | 
|  	$(TCCX) -o sqldiff$(EXE) -DSQLITE_THREADSAFE=0 \
 | 
|  		$(TOP)/tool/sqldiff.c sqlite3.c $(TLIBS) $(THREADLIB)
 | 
|  
 | 
| +dbhash$(EXE):	$(TOP)/tool/dbhash.c sqlite3.c sqlite3.h
 | 
| +	$(TCCX) -o dbhash$(EXE) -DSQLITE_THREADSAFE=0 \
 | 
| +		$(TOP)/tool/dbhash.c sqlite3.c $(TLIBS) $(THREADLIB)
 | 
| +
 | 
| +scrub$(EXE):	$(TOP)/ext/misc/scrub.c sqlite3.o
 | 
| +	$(TCC) -I. -DSCRUB_STANDALONE -o scrub$(EXE) $(TOP)/ext/misc/scrub.c sqlite3.o $(THREADLIB)
 | 
| +
 | 
| +srcck1$(EXE):	$(TOP)/tool/srcck1.c
 | 
| +	$(BCC) -o srcck1$(EXE) $(TOP)/tool/srcck1.c
 | 
| +
 | 
| +sourcetest:	srcck1$(EXE) sqlite3.c
 | 
| +	./srcck1 sqlite3.c
 | 
| +
 | 
|  fuzzershell$(EXE):	$(TOP)/tool/fuzzershell.c sqlite3.c sqlite3.h
 | 
|  	$(TCCX) -o fuzzershell$(EXE) -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION \
 | 
|  	  $(FUZZERSHELL_OPT) $(TOP)/tool/fuzzershell.c sqlite3.c \
 | 
|  	  $(TLIBS) $(THREADLIB)
 | 
|  
 | 
| -fuzzcheck$(EXE):	$(TOP)/test/fuzzcheck.c sqlite3.c sqlite3.h
 | 
| +dbfuzz$(EXE):	$(TOP)/test/dbfuzz.c sqlite3.c sqlite3.h
 | 
| +	$(TCCX) -o dbfuzz$(EXE) -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION \
 | 
| +	  $(DBFUZZ_OPT) $(TOP)/test/dbfuzz.c sqlite3.c \
 | 
| +	  $(TLIBS) $(THREADLIB)
 | 
| +
 | 
| +fuzzcheck$(EXE):	$(TOP)/test/fuzzcheck.c sqlite3.c sqlite3.h $(TOP)/test/ossfuzz.c
 | 
|  	$(TCCX) -o fuzzcheck$(EXE) -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION \
 | 
| +		-DSQLITE_ENABLE_MEMSYS5 $(FUZZCHECK_OPT) -DSQLITE_OSS_FUZZ \
 | 
| +		$(TOP)/test/fuzzcheck.c $(TOP)/test/ossfuzz.c sqlite3.c $(TLIBS) $(THREADLIB)
 | 
| +
 | 
| +ossshell$(EXE):	$(TOP)/test/ossfuzz.c $(TOP)/test/ossshell.c sqlite3.c sqlite3.h
 | 
| +	$(TCCX) -o ossshell$(EXE) -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION \
 | 
|  		-DSQLITE_ENABLE_MEMSYS5 $(FUZZCHECK_OPT) \
 | 
| -		$(TOP)/test/fuzzcheck.c sqlite3.c $(TLIBS) $(THREADLIB)
 | 
| +		$(TOP)/test/ossfuzz.c $(TOP)/test/ossshell.c sqlite3.c $(TLIBS) $(THREADLIB)
 | 
|  
 | 
|  mptester$(EXE):	sqlite3.c $(TOP)/mptest/mptest.c
 | 
|  	$(TCCX) -o $@ -I. $(TOP)/mptest/mptest.c sqlite3.c \
 | 
|  		$(TLIBS) $(THREADLIB)
 | 
|  
 | 
| -MPTEST1=./mptester$(EXE) mptest.db $(TOP)/mptest/crash01.test --repeat 20
 | 
| -MPTEST2=./mptester$(EXE) mptest.db $(TOP)/mptest/multiwrite01.test --repeat 20
 | 
| +MPTEST1=./mptester$(EXE) mptest1.db $(TOP)/mptest/crash01.test --repeat 20
 | 
| +MPTEST2=./mptester$(EXE) mptest2.db $(TOP)/mptest/multiwrite01.test --repeat 20
 | 
|  mptest:	mptester$(EXE)
 | 
| -	rm -f mptest.db
 | 
|  	$(MPTEST1) --journalmode DELETE
 | 
|  	$(MPTEST2) --journalmode WAL
 | 
|  	$(MPTEST1) --journalmode WAL
 | 
| @@ -531,6 +575,7 @@ target_source:	$(SRC) $(TOP)/tool/vdbe-compress.tcl fts5.c
 | 
|  sqlite3.c:	target_source $(TOP)/tool/mksqlite3c.tcl
 | 
|  	tclsh $(TOP)/tool/mksqlite3c.tcl
 | 
|  	cp tsrc/shell.c tsrc/sqlite3ext.h .
 | 
| +	cp $(TOP)/ext/session/sqlite3session.h .
 | 
|  	echo '#ifndef USE_SYSTEM_SQLITE' >tclsqlite3.c
 | 
|  	cat sqlite3.c >>tclsqlite3.c
 | 
|  	echo '#endif /* USE_SYSTEM_SQLITE */' >>tclsqlite3.c
 | 
| @@ -697,10 +742,12 @@ fts5.c: $(FTS5_SRC) $(FTS5_HDR)
 | 
|  userauth.o:	$(TOP)/ext/userauth/userauth.c $(HDR) $(EXTHDR)
 | 
|  	$(TCCX) -DSQLITE_CORE -c $(TOP)/ext/userauth/userauth.c
 | 
|  
 | 
| +sqlite3session.o:	$(TOP)/ext/session/sqlite3session.c $(HDR) $(EXTHDR)
 | 
| +	$(TCCX) -DSQLITE_CORE -c $(TOP)/ext/session/sqlite3session.c
 | 
| +
 | 
|  sqlite3rbu.o:	$(TOP)/ext/rbu/sqlite3rbu.c $(HDR) $(EXTHDR)
 | 
|  	$(TCCX) -DSQLITE_CORE -c $(TOP)/ext/rbu/sqlite3rbu.c
 | 
|  
 | 
| -
 | 
|  # Rules for building test programs and for running tests
 | 
|  #
 | 
|  tclsqlite3:	$(TOP)/src/tclsqlite.c libsqlite3.a
 | 
| @@ -722,7 +769,9 @@ sqlite3_analyzer$(EXE): sqlite3_analyzer.c
 | 
|  # Rules to build the 'testfixture' application.
 | 
|  #
 | 
|  TESTFIXTURE_FLAGS  = -DSQLITE_TEST=1 -DSQLITE_CRASH_TEST=1
 | 
| -TESTFIXTURE_FLAGS += -DSQLITE_SERVER=1 -DSQLITE_PRIVATE="" -DSQLITE_CORE 
 | 
| +TESTFIXTURE_FLAGS += -DSQLITE_SERVER=1 -DSQLITE_PRIVATE="" -DSQLITE_CORE
 | 
| +TESTFIXTURE_FLAGS += -DSQLITE_SERIES_CONSTRAINT_VERIFY=1
 | 
| +TESTFIXTURE_FLAGS += -DSQLITE_DEFAULT_PAGE_SIZE=1024
 | 
|  TESTFIXTURE_FLAGS += -DDEFAULT_ENABLE_RECOVER=1
 | 
|  
 | 
|  testfixture$(EXE): $(TESTSRC2) libsqlite3.a $(TESTSRC) $(TOP)/src/tclsqlite.c
 | 
| @@ -730,9 +779,11 @@ testfixture$(EXE): $(TESTSRC2) libsqlite3.a $(TESTSRC) $(TOP)/src/tclsqlite.c
 | 
|  		$(TESTSRC) $(TESTSRC2) $(TOP)/src/tclsqlite.c                \
 | 
|  		-o testfixture$(EXE) $(LIBTCL) libsqlite3.a $(THREADLIB)
 | 
|  
 | 
| -amalgamation-testfixture$(EXE): sqlite3.c $(TESTSRC) $(TOP)/src/tclsqlite.c
 | 
| +amalgamation-testfixture$(EXE): sqlite3.c $(TESTSRC) $(TOP)/src/tclsqlite.c  \
 | 
| +				$(TOP)/ext/session/test_session.c
 | 
|  	$(TCCX) $(TCL_FLAGS) -DTCLSH=1 $(TESTFIXTURE_FLAGS)                  \
 | 
|  		$(TESTSRC) $(TOP)/src/tclsqlite.c sqlite3.c                  \
 | 
| +		$(TOP)/ext/session/test_session.c                            \
 | 
|  		-o testfixture$(EXE) $(LIBTCL) $(THREADLIB)
 | 
|  
 | 
|  fts3-testfixture$(EXE): sqlite3.c fts3amal.c $(TESTSRC) $(TOP)/src/tclsqlite.c
 | 
| @@ -762,6 +813,11 @@ fastfuzztest:	fuzzcheck$(EXE) $(FUZZDATA)
 | 
|  valgrindfuzz:	fuzzcheck$(EXE) $(FUZZDATA)
 | 
|  	valgrind ./fuzzcheck$(EXE) --cell-size-check --limit-mem 10M --timeout 600 $(FUZZDATA)
 | 
|  
 | 
| +# The veryquick.test TCL tests.
 | 
| +#
 | 
| +tcltest:	./testfixture$(EXE)
 | 
| +	./testfixture$(EXE) $(TOP)/test/veryquick.test $(TESTOPTS)
 | 
| +
 | 
|  # A very quick test using only testfixture and omitting all the slower
 | 
|  # tests.  Designed to run in under 3 minutes on a workstation.
 | 
|  #
 | 
| @@ -770,9 +826,7 @@ quicktest:	./testfixture$(EXE)
 | 
|  
 | 
|  # The default test case.  Runs most of the faster standard TCL tests,
 | 
|  # and fuzz tests, and sqlite3_analyzer and sqldiff tests.
 | 
| -#
 | 
| -test:	$(TESTPROGS) fastfuzztest
 | 
| -	./testfixture$(EXE) $(TOP)/test/veryquick.test $(TESTOPTS)
 | 
| +test:	fastfuzztest sourcetest $(TESTPROGS) tcltest
 | 
|  
 | 
|  # Run a test using valgrind.  This can take a really long time
 | 
|  # because valgrind is so much slower than a native machine.
 | 
| @@ -828,6 +882,10 @@ showwal$(EXE):	$(TOP)/tool/showwal.c sqlite3.o
 | 
|  	$(TCC) -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION -o showwal$(EXE) \
 | 
|  		$(TOP)/tool/showwal.c sqlite3.o $(THREADLIB)
 | 
|  
 | 
| +changeset$(EXE):	$(TOP)/ext/session/changeset.c sqlite3.o
 | 
| +	$(TCC) -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION -o changeset$(EXE) \
 | 
| +		$(TOP)/ext/session/changeset.c sqlite3.o $(THREADLIB)
 | 
| +
 | 
|  fts3view$(EXE):	$(TOP)/ext/fts3/tool/fts3view.c sqlite3.o
 | 
|  	$(TCC) -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION -o fts3view$(EXE) \
 | 
|  		$(TOP)/ext/fts3/tool/fts3view.c sqlite3.o $(THREADLIB)
 | 
| @@ -843,8 +901,14 @@ wordcount$(EXE):	$(TOP)/test/wordcount.c sqlite3.c
 | 
|  	$(TCC) -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION -o wordcount$(EXE) \
 | 
|  		$(TOP)/test/wordcount.c sqlite3.c
 | 
|  
 | 
| -speedtest1$(EXE):	$(TOP)/test/speedtest1.c sqlite3.o
 | 
| -	$(TCC) -I. $(OTAFLAGS) -o speedtest1$(EXE) $(TOP)/test/speedtest1.c sqlite3.o $(THREADLIB) 
 | 
| +speedtest1$(EXE):	$(TOP)/test/speedtest1.c sqlite3.c
 | 
| +	$(TCCX) -I. $(ST_OPT) -o speedtest1$(EXE) $(TOP)/test/speedtest1.c sqlite3.c $(THREADLIB) 
 | 
| +
 | 
| +kvtest$(EXE):	$(TOP)/test/kvtest.c sqlite3.c
 | 
| +	$(TCCX) -I. $(KV_OPT) -o kvtest$(EXE) $(TOP)/test/kvtest.c sqlite3.c $(THREADLIB) 
 | 
| +
 | 
| +dbselftest$(EXE):	$(TOP)/test/dbselftest.c sqlite3.c
 | 
| +	$(TCCX) -I. $(DBSELFTEST_OPT) -o dbselftest$(EXE) $(TOP)/test/dbselftest.c sqlite3.c $(THREADLIB)
 | 
|  
 | 
|  rbu$(EXE): $(TOP)/ext/rbu/rbu.c $(TOP)/ext/rbu/sqlite3rbu.c sqlite3.o 
 | 
|  	$(TCC) -I. -o rbu$(EXE) $(TOP)/ext/rbu/rbu.c sqlite3.o \
 | 
| @@ -860,10 +924,15 @@ loadfts: $(TOP)/tool/loadfts.c libsqlite3.a
 | 
|  checksymbols: sqlite3.o
 | 
|  	nm -g --defined-only sqlite3.o | grep -v " sqlite3_" ; test $$? -ne 0
 | 
|  
 | 
| -# Build the amalgamation-autoconf package.
 | 
| +# Build the amalgamation-autoconf package.  The amalamgation-tarball target builds
 | 
| +# a tarball named for the version number.  Ex:  sqlite-autoconf-3110000.tar.gz.
 | 
| +# The snapshot-tarball target builds a tarball named by the SHA1 hash
 | 
|  #
 | 
|  amalgamation-tarball: sqlite3.c
 | 
| -	TOP=$(TOP) sh $(TOP)/tool/mkautoconfamal.sh
 | 
| +	TOP=$(TOP) sh $(TOP)/tool/mkautoconfamal.sh --normal
 | 
| +
 | 
| +snapshot-tarball: sqlite3.c
 | 
| +	TOP=$(TOP) sh $(TOP)/tool/mkautoconfamal.sh --snapshot
 | 
|  
 | 
|  
 | 
|  # Standard install and cleanup targets
 | 
| @@ -879,7 +948,6 @@ clean:
 | 
|  	rm -f mkkeywordhash mkkeywordhash.exe keywordhash.h
 | 
|  	rm -f $(PUBLISH)
 | 
|  	rm -f *.da *.bb *.bbg gmon.out
 | 
| -	rm -rf quota2a quota2b quota2c
 | 
|  	rm -rf tsrc target_source
 | 
|  	rm -f testloadext.dll libtestloadext.so
 | 
|  	rm -f amalgamation-testfixture amalgamation-testfixture.exe
 | 
| @@ -893,8 +961,11 @@ clean:
 | 
|  	rm -f showjournal showjournal.exe
 | 
|  	rm -f showstat4 showstat4.exe
 | 
|  	rm -f showwal showwal.exe
 | 
| +	rm -f changeset changeset.exe
 | 
|  	rm -f speedtest1 speedtest1.exe
 | 
|  	rm -f wordcount wordcount.exe
 | 
| +	rm -f rbu rbu.exe
 | 
| +	rm -f srcck1 srcck1.exe
 | 
|  	rm -f sqlite3.c sqlite3-*.c fts?amal.c tclsqlite3.c
 | 
|  	rm -f sqlite3rc.h
 | 
|  	rm -f shell.c sqlite3ext.h
 | 
| 
 |