8000 Merge sqlite-release(3.8.10.2) into prerelease-integration · g-coder/sqlcipher@595ef07 · GitHub
[go: up one dir, main page]

Skip to content

Commit 595ef07

Browse files
Merge sqlite-release(3.8.10.2) into prerelease-integration
2 parents e451540 + 724d1aa commit 595ef07

File tree

235 files changed

+14209
-4367
lines changed

Some content is hidden

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

235 files changed

+14209
-4367
lines changed

Makefile.in

Lines changed: 48 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ USE_AMALGAMATION = @USE_AMALGAMATION@
186186
#
187187
LIBOBJS0 = alter.lo analyze.lo attach.lo auth.lo \
188188
backup.lo bitvec.lo btmutex.lo btree.lo build.lo \
189-
callback.lo complete.lo ctime.lo date.lo delete.lo \
189+
callback.lo complete.lo ctime.lo date.lo dbstat.lo delete.lo \
190190
expr.lo fault.lo fkey.lo \
191191
fts3.lo fts3_aux.lo fts3_expr.lo fts3_hash.lo fts3_icu.lo \
192192
fts3_porter.lo fts3_snippet.lo fts3_tokenizer.lo fts3_tokenizer1.lo \
@@ -233,6 +233,7 @@ SRC = \
233233
$(TOP)/src/complete.c \
234234
$(TOP)/src/ctime.c \
235235
$(TOP)/src/date.c \
236+
$(TOP)/src/dbstat.c \
236237
$(TOP)/src/delete.c \
237238
$(TOP)/src/expr.c \
238239
$(TOP)/src/fault.c \
@@ -275,6 +276,7 @@ SRC = \
275276
$(TOP)/src/pcache.h \
276277
$(TOP)/src/pcache1.c \
277278
$(TOP)/src/pragma.c \
279+
$(TOP)/src/pragma.h \
278280
$(TOP)/src/prepare.c \
279281
$(TOP)/src/printf.c \
280282
$(TOP)/src/random.c \
@@ -306,6 +308,7 @@ SRC = \
306308
$(TOP)/src/vdbetrace.c \
307309
$(TOP)/src/vdbeInt.h \
308310
$(TOP)/src/vtab.c \
311+
$(TOP)/src/vxworks.h \
309312
$(TOP)/src/wal.c \
310313
$(TOP)/src/wal.h \
311314
$(TOP)/src/walker.c \
@@ -407,7 +410,6 @@ TESTSRC = \
407410
$(TOP)/src/test_server.c \
408411
$(TOP)/src/test_superlock.c \
409412
$(TOP)/src/test_syscall.c \
410-
$(TOP)/src/test_stat.c \
411413
$(TOP)/src/test_tclvar.c \
412414
$(TOP)/src/test_thread.c \
413415
$(TOP)/src/test_vfs.c \
@@ -441,6 +443,7 @@ TESTSRC2 = \
441443
$(TOP)/src/build.c \
442444
$(TOP)/src/ctime.c \
443445
$(TOP)/src/date.c \
446+
$(TOP)/src/dbstat.c \
444447
$(TOP)/src/expr.c \
445448
$(TOP)/src/func.c \
446449
$(TOP)/src/insert.c \
@@ -494,12 +497,14 @@ HDR = \
494497
$(TOP)/src/pager.h \
495498
$(TOP)/src/pcache.h \
496499
parse.h \
500+
$(TOP)/src/pragma.h \
497501
sqlite3.h \
498502
$(TOP)/src/sqlite3ext.h \
499503
$(TOP)/src/sqliteInt.h \
500504
$(TOP)/src/sqliteLimit.h \
501505
$(TOP)/src/vdbe.h \
502506
$(TOP)/src/vdbeInt.h \
507+
$(TOP)/src/vxworks.h \
503508
$(TOP)/src/whereInt.h \
504509
config.h
505510

@@ -552,15 +557,29 @@ sqlcipher$(TEXE): $(TOP)/src/shell.c libsqlcipher.la sqlite3.h
552557
-o $@ $(TOP)/src/shell.c libsqlcipher.la \
553558
$(LIBREADLINE) $(TLIBS) -rpath "$(libdir)"
554559

555-
mptester$(EXE): sqlite3.c $(TOP)/mptest/mptest.c
560+
sqldiff$(TEXE): $(TOP)/tool/sqldiff.c sqlite3.c sqlite3.h
561+
$(LTLINK) -o $@ $(TOP)/tool/sqldiff.c sqlite3.c $(TLIBS)
562+
563+
fuzzershell$(TEXE): $(TOP)/tool/fuzzershell.c sqlite3.c sqlite3.h
564+
$(LTLINK) -o $@ $(TOP)/tool/fuzzershell.c sqlite3.c $(TLIBS)
565+
566+
mptester$(TEXE): sqlite3.c $(TOP)/mptest/mptest.c
556567
$(LTLINK) -o $@ -I. $(TOP)/mptest/mptest.c sqlite3.c \
557568
$(TLIBS) -rpath "$(libdir)"
558569

559-
mptest: mptester$(EXE)
560-
rm -f mptest1.db
561-
./mptester$(EXE) mptest1.db $(TOP)/mptest/crash01.test
562-
rm -f mptest2.db
563-
./mptester$(EXE) mptest2.db $(TOP)/mptest/multiwrite01.test
570+
MPTEST1=./mptester$(TEXE) mptest.db $(TOP)/mptest/crash01.test --repeat 20
571+
MPTEST2=./mptester$(TEXE) mptest.db $(TOP)/mptest/multiwrite01.test --repeat 20
572+
mptest: mptester$(TEXE)
573+
rm -f mptest.db
574+
$(MPTEST1) --journalmode DELETE
575+
$(MPTEST2) --journalmode WAL
576+
$(MPTEST1) --journalmode WAL
577+
$(MPTEST2) --journalmode PERSIST
578+
$(MPTEST1) --journalmode PERSIST
579+
$(MPTEST2) --journalmode TRUNCATE
580+
$(MPTEST1) --journalmode TRUNCATE
581+
$(MPTEST2) --journalmode DELETE
582+
564583

565584
# This target creates a directory named "tsrc" and fills it with
566585
# copies of all of the C source code and header files needed to
@@ -667,6 +686,9 @@ ctime.lo: $(TOP)/src/ctime.c $(HDR)
667686
date.lo: $(TOP)/src/date.c $(HDR)
668687
$(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/date.c
669688

689+
dbstat.lo: $(TOP)/src/dbstat.c $(HDR)
690+
$(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/dbstat.c
691+
670692
delete.lo: $(TOP)/src/delete.c $(HDR)
671693
$(LTCOMPILE) $(TEMP_STORE) -c $(TOP)/src/delete.c
672694

@@ -966,39 +988,48 @@ testfixture$(TEXE): $(TESTFIXTURE_SRC)
966988
-o $@ $(TESTFIXTURE_SRC) $(LIBTCL) $(TLIBS)
967989

968990
# A very detailed test running most or all test cases
969-
fulltest: testfixture$(TEXE) sqlcipher$(TEXE)
991+
fulltest: testfixture$(TEXE) sqlcipher$(TEXE) fuzztest
970992
./testfixture$(TEXE) $(TOP)/test/all.test
971993

972994
# Really really long testing
973-
soaktest: testfixture$(TEXE) sqlcipher$(TEXE)
995+
soaktest: testfixture$(TEXE) sqlcipher$(TEXE) fuzzoomtest
974996
./testfixture$(TEXE) $(TOP)/test/all.test -soak=1
975997

976998
# Do extra testing but not aeverything.
977999
fulltestonly: testfixture$(TEXE) sqlcipher$(TEXE)
9781000
./testfixture$(TEXE) $(TOP)/test/full.test
9791001

1002+
# Fuzz testing
1003+
fuzztest: fuzzershell$(TEXE)
1004+
./fuzzershell$(TEXE) $(TOP)/test/fuzzdata1.txt $(TOP)/test/fuzzdata2.txt
1005+
1006+
fuzzoomtest: fuzzershell$(TEXE)
1007+
./fuzzershell$(TEXE) -f $(TOP)/test/fuzzdata1.txt --oom
1008+
9801009
# This is the common case. Run many tests but not those that take
9811010
# a really long time.
9821011
#
983-
test: testfixture$(TEXE) sqlcipher$(TEXE)
1012+
test: testfixture$(TEXE) sqlcipher$(TEXE) fuzztest
9841013
./testfixture$(TEXE) $(TOP)/test/veryquick.test
9851014

9861015
# Run a test using valgrind. This can take a really long time
9871016
# because valgrind is so much slower than a native machine.
9881017
#
989-
valgrindtest: testfixture$(TEXE) sqlite3$(TEXE)
1018+
valgrindtest: testfixture$(TEXE) sqlite3$(TEXE) fuzzershell$(TEXE)
1019+
valgrind -v ./fuzzershell$(TEXE) -f $(TOP)/test/fuzzdata1.txt
9901020
OMIT_MISUSE=1 valgrind -v ./testfixture$(TEXE) $(TOP)/test/permutations.test valgrind
9911021

9921022
# A very fast test that checks basic sanity. The name comes from
9931023
# the 60s-era electronics testing: "Turn it on and see if smoke
9941024
# comes out."
9951025
#
996-
smoketest: testfixture$(TEXE)
1026+
smoketest: testfixture$(TEXE) fuzzershell$(TEXE)
9971027
./testfixture$(TEXE) $(TOP)/test/main.test
9981028

999-
sqlite3_analyzer.c: sqlite3.c $(TOP)/src/test_stat.c $(TOP)/src/tclsqlite.c $(TOP)/tool/spaceanal.tcl
1029+
sqlite3_analyzer.c: sqlite3.c $(TOP)/src/tclsqlite.c $(TOP)/tool/spaceanal.tcl
10001030
echo "#define TCLSH 2" > $@
1001-
cat sqlite3.c $(TOP)/src/test_stat.c $(TOP)/src/tclsqlite.c >> $@
1031+
echo "#define SQLITE_ENABLE_DBSTAT_VTAB" >> $@
1032+
cat sqlite3.c $(TOP)/src/tclsqlite.c >> $@
10021033
echo "static const char *tclsh_main_loop(void){" >> $@
10031034
echo "static const char *zMainloop = " >> $@
10041035
$(NAWK) -f $(TOP)/tool/tostr.awk $(TOP)/tool/spaceanal.tcl >> $@
@@ -1028,7 +1059,7 @@ LogEst$(TEXE): $(TOP)/tool/logest.c sqlite3.h
10281059
wordcount$(TEXE): $(TOP)/test/wordcount.c sqlite3.c
10291060
$(LTLINK) -o $@ $(TOP)/test/wordcount.c sqlite3.c $(TLIBS)
10301061

1031-
speedtest1$(TEXE): $(TOP)/test/wordcount.c sqlite3.lo
1062+
speedtest1$(TEXE): $(TOP)/test/speedtest1.c sqlite3.lo
10321063
$(LTLINK) -o $@ $(TOP)/test/speedtest1.c sqlite3.lo $(TLIBS)
10331064

10341065
# This target will fail if the SQLite amalgamation contains any exported
@@ -1080,7 +1111,7 @@ install: sqlcipher$(BEXE) lib_install sqlite3.h sqlcipher.pc ${HAVE_TCL:1=tcl_in
10801111
$(INSTALL) -m 0644 sqlcipher.pc $(DESTDIR)$(pkgconfigdir)
10811112

10821113
pkgIndex.tcl:
1083-
echo 'package ifneeded sqlite3 $(RELEASE) [list load $(TCLLIBDIR)/libtclsqlite3.so sqlite3]' > $@
1114+
echo 'package ifneeded sqlite3 $(RELEASE) [list load $(TCLLIBDIR)/libtclsqlite3$(SHLIB_SUFFIX) sqlite3]' > $@
10841115
tcl_install: lib_install libtclsqlite3.la pkgIndex.tcl
10851116
$(INSTALL) -d $(DESTDIR)$(TCLLIBDIR)
10861117
$(LTINSTALL) libtclsqlite3.la $(DESTDIR)$(TCLLIBDIR)

0 commit comments

Comments
 (0)
0