Skip to content

Commit 724d1aa

Browse files
Snapshot of upstream SQLite 3.8.10.2
1 parent d495419 commit 724d1aa

235 files changed

Lines changed: 13858 additions & 7513 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Makefile.in

Lines changed: 48 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ USE_AMALGAMATION = @USE_AMALGAMATION@
167167
#
168168
LIBOBJS0 = alter.lo analyze.lo attach.lo auth.lo \
169169
backup.lo bitvec.lo btmutex.lo btree.lo build.lo \
170-
callback.lo complete.lo ctime.lo date.lo delete.lo \
170+
callback.lo complete.lo ctime.lo date.lo dbstat.lo delete.lo \
171171
expr.lo fault.lo fkey.lo \
172172
fts3.lo fts3_aux.lo fts3_expr.lo fts3_hash.lo fts3_icu.lo \
173173
fts3_porter.lo fts3_snippet.lo fts3_tokenizer.lo fts3_tokenizer1.lo \
@@ -213,6 +213,7 @@ SRC = \
213213
$(TOP)/src/complete.c \
214214
$(TOP)/src/ctime.c \
215215
$(TOP)/src/date.c \
216+
$(TOP)/src/dbstat.c \
216217
$(TOP)/src/delete.c \
217218
$(TOP)/src/expr.c \
218219
$(TOP)/src/fault.c \
@@ -255,6 +256,7 @@ SRC = \
255256
$(TOP)/src/pcache.h \
256257
$(TOP)/src/pcache1.c \
257258
$(TOP)/src/pragma.c \
259+
$(TOP)/src/pragma.h \
258260
$(TOP)/src/prepare.c \
259261
$(TOP)/src/printf.c \
260262
$(TOP)/src/random.c \
@@ -286,6 +288,7 @@ SRC = \
286288
$(TOP)/src/vdbetrace.c \
287289
$(TOP)/src/vdbeInt.h \
288290
$(TOP)/src/vtab.c \
291+
$(TOP)/src/vxworks.h \
289292
$(TOP)/src/wal.c \
290293
$(TOP)/src/wal.h \
291294
$(TOP)/src/walker.c \
@@ -387,7 +390,6 @@ TESTSRC = \
387390
$(TOP)/src/test_server.c \
388391
$(TOP)/src/test_superlock.c \
389392
$(TOP)/src/test_syscall.c \
390-
$(TOP)/src/test_stat.c \
391393
$(TOP)/src/test_tclvar.c \
392394
$(TOP)/src/test_thread.c \
393395
$(TOP)/src/test_vfs.c \
@@ -421,6 +423,7 @@ TESTSRC2 = \
421423
$(TOP)/src/build.c \
422424
$(TOP)/src/ctime.c \
423425
$(TOP)/src/date.c \
426+
$(TOP)/src/dbstat.c \
424427
$(TOP)/src/expr.c \
425428
$(TOP)/src/func.c \
426429
$(TOP)/src/insert.c \
@@ -474,12 +477,14 @@ HDR = \
474477
$(TOP)/src/pager.h \
475478
$(TOP)/src/pcache.h \
476479
parse.h \
480+
$(TOP)/src/pragma.h \
477481
sqlite3.h \
478482
$(TOP)/src/sqlite3ext.h \
479483
$(TOP)/src/sqliteInt.h \
480484
$(TOP)/src/sqliteLimit.h \
481485
$(TOP)/src/vdbe.h \
482486
$(TOP)/src/vdbeInt.h \
487+
$(TOP)/src/vxworks.h \
483488
$(TOP)/src/whereInt.h \
484489
config.h
485490

@@ -532,15 +537,29 @@ sqlite3$(TEXE): $(TOP)/src/shell.c libsqlite3.la sqlite3.h
532537
-o $@ $(TOP)/src/shell.c libsqlite3.la \
533538
$(LIBREADLINE) $(TLIBS) -rpath "$(libdir)"
534539

535-
mptester$(EXE): sqlite3.c $(TOP)/mptest/mptest.c
540+
sqldiff$(TEXE): $(TOP)/tool/sqldiff.c sqlite3.c sqlite3.h
541+
$(LTLINK) -o $@ $(TOP)/tool/sqldiff.c sqlite3.c $(TLIBS)
542+
543+
fuzzershell$(TEXE): $(TOP)/tool/fuzzershell.c sqlite3.c sqlite3.h
544+
$(LTLINK) -o $@ $(TOP)/tool/fuzzershell.c sqlite3.c $(TLIBS)
545+
546+
mptester$(TEXE): sqlite3.c $(TOP)/mptest/mptest.c
536547
$(LTLINK) -o $@ -I. $(TOP)/mptest/mptest.c sqlite3.c \
537548
$(TLIBS) -rpath "$(libdir)"
538549

539-
mptest: mptester$(EXE)
540-
rm -f mptest1.db
541-
./mptester$(EXE) mptest1.db $(TOP)/mptest/crash01.test
542-
rm -f mptest2.db
543-
./mptester$(EXE) mptest2.db $(TOP)/mptest/multiwrite01.test
550+
MPTEST1=./mptester$(TEXE) mptest.db $(TOP)/mptest/crash01.test --repeat 20
551+
MPTEST2=./mptester$(TEXE) mptest.db $(TOP)/mptest/multiwrite01.test --repeat 20
552+
mptest: mptester$(TEXE)
553+
rm -f mptest.db
554+
$(MPTEST1) --journalmode DELETE
555+
$(MPTEST2) --journalmode WAL
556+
$(MPTEST1) --journalmode WAL
557+
$(MPTEST2) --journalmode PERSIST
558+
$(MPTEST1) --journalmode PERSIST
559+
$(MPTEST2) --journalmode TRUNCATE
560+
$(MPTEST1) --journalmode TRUNCATE
561+
$(MPTEST2) --journalmode DELETE
562+
544563

545564
# This target creates a directory named "tsrc" and fills it with
546565
# copies of all of the C source code and header files needed to
@@ -634,6 +653,9 @@ ctime.lo: $(TOP)/src/ctime.c $(HDR)
634653
date.lo: $(TOP)/src/date.c $(HDR)
635654
$(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/date.c
636655

656+
dbstat.lo: $(TOP)/src/dbstat.c $(HDR)
657+
$(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/dbstat.c
658+
637659
delete.lo: $(TOP)/src/delete.c $(HDR)
638660
$(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/delete.c
639661

@@ -933,39 +955,48 @@ testfixture$(TEXE): $(TESTFIXTURE_SRC)
933955
-o $@ $(TESTFIXTURE_SRC) $(LIBTCL) $(TLIBS)
934956

935957
# A very detailed test running most or all test cases
936-
fulltest: testfixture$(TEXE) sqlite3$(TEXE)
958+
fulltest: testfixture$(TEXE) sqlite3$(TEXE) fuzztest
937959
./testfixture$(TEXE) $(TOP)/test/all.test
938960

939961
# Really really long testing
940-
soaktest: testfixture$(TEXE) sqlite3$(TEXE)
962+
soaktest: testfixture$(TEXE) sqlite3$(TEXE) fuzzoomtest
941963
./testfixture$(TEXE) $(TOP)/test/all.test -soak=1
942964

943965
# Do extra testing but not aeverything.
944966
fulltestonly: testfixture$(TEXE) sqlite3$(TEXE)
945967
./testfixture$(TEXE) $(TOP)/test/full.test
946968

969+
# Fuzz testing
970+
fuzztest: fuzzershell$(TEXE)
971+
./fuzzershell$(TEXE) $(TOP)/test/fuzzdata1.txt $(TOP)/test/fuzzdata2.txt
972+
973+
fuzzoomtest: fuzzershell$(TEXE)
974+
./fuzzershell$(TEXE) -f $(TOP)/test/fuzzdata1.txt --oom
975+
947976
# This is the common case. Run many tests but not those that take
948977
# a really long time.
949978
#
950-
test: testfixture$(TEXE) sqlite3$(TEXE)
979+
test: testfixture$(TEXE) sqlite3$(TEXE) fuzztest
951980
./testfixture$(TEXE) $(TOP)/test/veryquick.test
952981

953982
# Run a test using valgrind. This can take a really long time
954983
# because valgrind is so much slower than a native machine.
955984
#
956-
valgrindtest: testfixture$(TEXE) sqlite3$(TEXE)
985+
valgrindtest: testfixture$(TEXE) sqlite3$(TEXE) fuzzershell$(TEXE)
986+
valgrind -v ./fuzzershell$(TEXE) -f $(TOP)/test/fuzzdata1.txt
957987
OMIT_MISUSE=1 valgrind -v ./testfixture$(TEXE) $(TOP)/test/permutations.test valgrind
958988

959989
# A very fast test that checks basic sanity. The name comes from
960990
# the 60s-era electronics testing: "Turn it on and see if smoke
961991
# comes out."
962992
#
963-
smoketest: testfixture$(TEXE)
993+
smoketest: testfixture$(TEXE) fuzzershell$(TEXE)
964994
./testfixture$(TEXE) $(TOP)/test/main.test
965995

966-
sqlite3_analyzer.c: sqlite3.c $(TOP)/src/test_stat.c $(TOP)/src/tclsqlite.c $(TOP)/tool/spaceanal.tcl
996+
sqlite3_analyzer.c: sqlite3.c $(TOP)/src/tclsqlite.c $(TOP)/tool/spaceanal.tcl
967997
echo "#define TCLSH 2" > $@
968-
cat sqlite3.c $(TOP)/src/test_stat.c $(TOP)/src/tclsqlite.c >> $@
998+
echo "#define SQLITE_ENABLE_DBSTAT_VTAB" >> $@
999+
cat sqlite3.c $(TOP)/src/tclsqlite.c >> $@
9691000
echo "static const char *tclsh_main_loop(void){" >> $@
9701001
echo "static const char *zMainloop = " >> $@
9711002
$(NAWK) -f $(TOP)/tool/tostr.awk $(TOP)/tool/spaceanal.tcl >> $@
@@ -995,7 +1026,7 @@ LogEst$(TEXE): $(TOP)/tool/logest.c sqlite3.h
9951026
wordcount$(TEXE): $(TOP)/test/wordcount.c sqlite3.c
9961027
$(LTLINK) -o $@ $(TOP)/test/wordcount.c sqlite3.c $(TLIBS)
9971028

998-
speedtest1$(TEXE): $(TOP)/test/wordcount.c sqlite3.lo
1029+
speedtest1$(TEXE): $(TOP)/test/speedtest1.c sqlite3.lo
9991030
$(LTLINK) -o $@ $(TOP)/test/speedtest1.c sqlite3.lo $(TLIBS)
10001031

10011032
# This target will fail if the SQLite amalgamation contains any exported
@@ -1047,7 +1078,7 @@ install: sqlite3$(BEXE) lib_install sqlite3.h sqlite3.pc ${HAVE_TCL:1=tcl_instal
10471078
$(INSTALL) -m 0644 sqlite3.pc $(DESTDIR)$(pkgconfigdir)
10481079

10491080
pkgIndex.tcl:
1050-
echo 'package ifneeded sqlite3 $(RELEASE) [list load $(TCLLIBDIR)/libtclsqlite3.so sqlite3]' > $@
1081+
echo 'package ifneeded sqlite3 $(RELEASE) [list load $(TCLLIBDIR)/libtclsqlite3$(SHLIB_SUFFIX) sqlite3]' > $@
10511082
tcl_install: lib_install libtclsqlite3.la pkgIndex.tcl
10521083
$(INSTALL) -d $(DESTDIR)$(TCLLIBDIR)
10531084
$(LTINSTALL) libtclsqlite3.la $(DESTDIR)$(TCLLIBDIR)

0 commit comments

Comments
 (0)