| 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
|
|
|