Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit bd2f337

Browse files
committed
Merge sqlite-release(3.26.0) into prerelease-integration
2 parents e4b66d6 + 4d9565b commit bd2f337

File tree

284 files changed

+7621
-1563
lines changed

Some content is hidden

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

284 files changed

+7621
-1563
lines changed

Makefile.in

Lines changed: 59 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ TOP = @abs_srcdir@
2323
#
2424
BCC = @BUILD_CC@ @BUILD_CFLAGS@
2525

26-
# TCC is the C Compile and options for use in building executables that
26+
# TCC is the C Compile and options for use in building executables that
2727
# will run on the target platform. (BCC and TCC are usually the
2828
# same unless your are cross-compiling.) Separate CC and CFLAGS macros
2929
# are provide so that these aspects of the build process can be changed
@@ -33,10 +33,11 @@ CC = @CC@
3333
CFLAGS = @CPPFLAGS@ @CFLAGS@
3434
TCC = ${CC} ${CFLAGS} -I. -I${TOP}/src -I${TOP}/ext/rtree -I${TOP}/ext/icu
3535
TCC += -I${TOP}/ext/fts3 -I${TOP}/ext/async -I${TOP}/ext/session
36+
TCC += -I${TOP}/ext/userauth
3637

3738
# Define this for the autoconf-based build, so that the code knows it can
3839
# include the generated config.h
39-
#
40+
#
4041
TCC += -D_HAVE_SQLITE_CONFIG_H -DBUILD_sqlite
4142

4243
# Define -DNDEBUG to compile without debugging (i.e., for production usage)
@@ -67,7 +68,7 @@ LIBREADLINE = @TARGET_READLINE_LIBS@
6768
TCC += -DSQLITE_THREADSAFE=@SQLITE_THREADSAFE@
6869

6970
# Any target libraries which libsqlite must be linked against
70-
#
71+
#
7172
TLIBS = @LIBS@ $(LIBS)
7273

7374
# Flags controlling use of the in memory btree implementation
@@ -79,8 +80,8 @@ TLIBS = @LIBS@ $(LIBS)
7980
TEMP_STORE = -DSQLITE_TEMP_STORE=@TEMP_STORE@
8081

8182
# Enable/disable loadable extensions, and other optional features
82-
# based on configuration. (-DSQLITE_OMIT*, -DSQLITE_ENABLE*).
83-
# The same set of OMIT and ENABLE flags should be passed to the
83+
# based on configuration. (-DSQLITE_OMIT*, -DSQLITE_ENABLE*).
84+
# The same set of OMIT and ENABLE flags should be passed to the
8485
# LEMON parser generator and the mkkeywordhash tool as well.
8586
OPT_FEATURE_FLAGS = @OPT_FEATURE_FLAGS@
8687

@@ -127,8 +128,8 @@ SHLIB_SUFFIX = @TCL_SHLIB_SUFFIX@
127128
# If gcov support was enabled by the configure script, add the appropriate
128129
# flags here. It's not always as easy as just having the user add the right
129130
# CFLAGS / LDFLAGS, because libtool wants to use CFLAGS when linking, which
130-
# causes build errors with -fprofile-arcs -ftest-coverage with some GCCs.
131-
# Supposedly GCC does the right thing if you use --coverage, but in
131+
# causes build errors with -fprofile-arcs -ftest-coverage with some GCCs.
132+
# Supposedly GCC does the right thing if you use --coverage, but in
132133
# practice it still fails. See:
133134
#
134135
# http://www.mail-archive.com/[email protected]/msg26197.html
@@ -206,7 +207,7 @@ LIBOBJS0 = alter.lo analyze.lo attach.lo auth.lo \
206207
random.lo resolve.lo rowset.lo rtree.lo \
207208
sqlite3session.lo select.lo sqlite3rbu.lo status.lo stmt.lo \
208209
table.lo threads.lo tokenize.lo treeview.lo trigger.lo \
209-
update.lo upsert.lo util.lo vacuum.lo \
210+
update.lo userauth.lo upsert.lo util.lo vacuum.lo \
210211
vdbe.lo vdbeapi.lo vdbeaux.lo vdbeblob.lo vdbemem.lo vdbesort.lo \
211212
vdbetrace.lo wal.lo walker.lo where.lo wherecode.lo whereexpr.lo \
212213
window.lo utf.lo vtab.lo $(CRYPTOLIBOBJ)
@@ -375,6 +376,9 @@ SRC += \
375376
SRC += \
376377
$(TOP)/ext/session/sqlite3session.c \
377378
$(TOP)/ext/session/sqlite3session.h
379+
SRC += \
380+
$(TOP)/ext/userauth/userauth.c \
381+
$(TOP)/ext/userauth/sqlite3userauth.h
378382
SRC += \
379383
$(TOP)/ext/rbu/sqlite3rbu.h \
380384
$(TOP)/ext/rbu/sqlite3rbu.c
@@ -445,7 +449,7 @@ TESTSRC = \
445449
$(TOP)/ext/fts3/fts3_term.c \
446450
$(TOP)/ext/fts3/fts3_test.c \
447451
$(TOP)/ext/session/test_session.c \
448-
$(TOP)/ext/rbu/test_rbu.c
452+
$(TOP)/ext/rbu/test_rbu.c
449453

450454
# Statically linked extensions
451455
#
@@ -457,6 +461,7 @@ TESTSRC += \
457461
$(TOP)/ext/misc/closure.c \
458462
$(TOP)/ext/misc/csv.c \
459463
$(TOP)/ext/misc/eval.c \
464+
$(TOP)/ext/misc/explain.c \
460465
$(TOP)/ext/misc/fileio.c \
461466
$(TOP)/ext/misc/fuzzer.c \
462467
$(TOP)/ext/fts5/fts5_tcl.c \
@@ -474,7 +479,8 @@ TESTSRC += \
474479
$(TOP)/ext/misc/totype.c \
475480
$(TOP)/ext/misc/unionvtab.c \
476481
$(TOP)/ext/misc/wholenumber.c \
477-
$(TOP)/ext/misc/zipfile.c
482+
$(TOP)/ext/misc/zipfile.c \
483+
$(TOP)/ext/userauth/userauth.c
478484

479485
# Source code to the library files needed by the test fixture
480486
#
@@ -490,6 +496,7 @@ TESTSRC2 = \
490496
$(TOP)/src/dbstat.c \
491497
$(TOP)/src/expr.c \
492498
$(TOP)/src/func.c \
499+
$(TOP)/src/global.c \
493500
$(TOP)/src/insert.c \
494501
$(TOP)/src/wal.c \
495502
$(TOP)/src/main.c \
@@ -526,7 +533,7 @@ TESTSRC2 = \
526533
$(TOP)/ext/fts3/fts3_write.c \
527534
$(TOP)/ext/async/sqlite3async.c \
528535
$(TOP)/ext/session/sqlite3session.c \
529-
$(TOP)/ext/misc/stmt.c
536+
$(TOP)/ext/misc/stmt.c
530537

531538
# Header files used by all library source files.
532539
#
@@ -579,6 +586,8 @@ EXTHDR += \
579586
$(TOP)/ext/icu/sqliteicu.h
580587
EXTHDR += \
581588
$(TOP)/ext/rtree/sqlite3rtree.h
589+
EXTHDR += \
590+
$(TOP)/ext/userauth/sqlite3userauth.h
582591

583592
# executables needed for testing
584593
#
@@ -598,7 +607,8 @@ FUZZDATA = \
598607
$(TOP)/test/fuzzdata3.db \
599608
$(TOP)/test/fuzzdata4.db \
600609
$(TOP)/test/fuzzdata5.db \
601-
$(TOP)/test/fuzzdata6.db
610+
$(TOP)/test/fuzzdata6.db \
611+
$(TOP)/test/fuzzdata7.db
602612

603613
# Standard options to testfixture
604614
#
@@ -615,13 +625,14 @@ SHELL_OPT += -DSQLITE_ENABLE_STMTVTAB
615625
SHELL_OPT += -DSQLITE_ENABLE_DBPAGE_VTAB
616626
SHELL_OPT += -DSQLITE_ENABLE_DBSTAT_VTAB
617627
SHELL_OPT += -DSQLITE_ENABLE_OFFSET_SQL_FUNC
628+
SHELL_OPT += -DSQLITE_ENABLE_DESERIALIZE
618629
SHELL_OPT += -DSQLITE_INTROSPECTION_PRAGMAS
619630
FUZZERSHELL_OPT = -DSQLITE_ENABLE_JSON1
620631
FUZZCHECK_OPT = -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMSYS5 -DSQLITE_OSS_FUZZ
621632
FUZZCHECK_OPT += -DSQLITE_MAX_MEMORY=50000000
622633
FUZZCHECK_OPT += -DSQLITE_PRINTF_PRECISION_LIMIT=1000
623634
FUZZCHECK_SRC = $(TOP)/test/fuzzcheck.c $(TOP)/test/ossfuzz.c
624-
DBFUZZ_OPT =
635+
DBFUZZ_OPT =
625636

626637
# This is the default Makefile target. The objects listed here
627638
# are what get build when you type just "make" with no arguments.
@@ -645,9 +656,9 @@ libtclsqlite3.la: tclsqlite.lo libsqlcipher.la
645656
-version-info "8:6:8" \
646657
-avoid-version
647658

648-
sqlcipher$(TEXE): shell.c libsqlcipher.la
659+
sqlcipher$(TEXE): shell.c sqlite3.c
649660
$(LTLINK) $(READLINE_FLAGS) $(SHELL_OPT) -o $@ \
650-
shell.c libsqlcipher.la \
661+
shell.c sqlite3.c \
651662
$(LIBREADLINE) $(TLIBS) -rpath "$(libdir)"
652663

653664
sqldiff$(TEXE): $(TOP)/tool/sqldiff.c sqlite3.lo sqlite3.h
@@ -683,6 +694,22 @@ sessionfuzz$(TEXE): $(TOP)/test/sessionfuzz.c sqlite3.c sqlite3.h
683694
dbfuzz$(TEXE): $(TOP)/test/dbfuzz.c sqlite3.c sqlite3.h
684695
$(LTLINK) -o $@ $(DBFUZZ_OPT) $(TOP)/test/dbfuzz.c sqlite3.c $(TLIBS)
685696

697+
DBFUZZ2_OPTS = \
698+
-DSQLITE_THREADSAFE=0 \
699+
-DSQLITE_OMIT_LOAD_EXTENSION \
700+
-DSQLITE_ENABLE_DESERIALIZE \
701+
-DSQLITE_DEBUG \
702+
-DSQLITE_ENABLE_DBSTAT_VTAB \
703+
-DSQLITE_ENABLE_RTREE \
704+
-DSQLITE_ENABLE_FTS4 \
705+
-DSQLITE_EANBLE_FTS5
706+
707+
dbfuzz2: $(TOP)/test/dbfuzz2.c sqlite3.c sqlite3.h
708+
clang-6.0 -I. -g -O0 -fsanitize=fuzzer,undefined,address -o dbfuzz2 \
709+
$(DBFUZZ2_OPTS) $(TOP)/test/dbfuzz2.c sqlite3.c
710+
mkdir -p dbfuzz2-dir
711+
cp $(TOP)/test/dbfuzz2-seed* dbfuzz2-dir
712+
686713
mptester$(TEXE): sqlite3.lo $(TOP)/mptest/mptest.c
687714
$(LTLINK) -o $@ -I. $(TOP)/mptest/mptest.c sqlite3.lo \
688715
$(TLIBS) -rpath "$(libdir)"
@@ -1131,7 +1158,10 @@ fts3_write.lo: $(TOP)/ext/fts3/fts3_write.c $(HDR) $(EXTHDR)
11311158
rtree.lo: $(TOP)/ext/rtree/rtree.c $(HDR) $(EXTHDR)
11321159
$(LTCOMPILE) -DSQLITE_CORE -c $(TOP)/ext/rtree/rtree.c
11331160

1134-
sqlite3session.lo: $(TOP)/ext/session/sqlite3session.c $(HDR) $(EXTHDR)
1161+
sqlite3session.lo: $(TOP)/ext/userauth/userauth.c $(HDR) $(EXTHDR)
1162+
$(LTCOMPILE) -DSQLITE_CORE -c $(TOP)/ext/userauth/userauth.c
1163+
1164+
userauth.lo: $(TOP)/ext/session/sqlite3session.c $(HDR) $(EXTHDR)
11351165
$(LTCOMPILE) -DSQLITE_CORE -c $(TOP)/ext/session/sqlite3session.c
11361166

11371167
json1.lo: $(TOP)/ext/misc/json1.c
@@ -1159,7 +1189,7 @@ FTS5_SRC = \
11591189
$(TOP)/ext/fts5/fts5_varint.c \
11601190
$(TOP)/ext/fts5/fts5_vocab.c \
11611191

1162-
fts5parse.c: $(TOP)/ext/fts5/fts5parse.y lemon
1192+
fts5parse.c: $(TOP)/ext/fts5/fts5parse.y lemon
11631193
cp $(TOP)/ext/fts5/fts5parse.y .
11641194
rm -f fts5parse.h
11651195
./lemon$(BEXE) $(OPTS) fts5parse.y
@@ -1186,7 +1216,7 @@ sqlite3rbu.lo: $(TOP)/ext/rbu/sqlite3rbu.c $(HDR) $(EXTHDR)
11861216
#
11871217
TESTFIXTURE_FLAGS = -DSQLITE_TEST=1 -DSQLITE_CRASH_TEST=1
11881218
TESTFIXTURE_FLAGS += -DTCLSH_INIT_PROC=sqlite3TestInit
1189-
TESTFIXTURE_FLAGS += -DSQLITE_SERVER=1 -DSQLITE_PRIVATE="" -DSQLITE_CORE
1219+
TESTFIXTURE_FLAGS += -DSQLITE_SERVER=1 -DSQLITE_PRIVATE="" -DSQLITE_CORE
11901220
TESTFIXTURE_FLAGS += -DBUILD_sqlite
11911221
TESTFIXTURE_FLAGS += -DSQLITE_SERIES_CONSTRAINT_VERIFY=1
11921222
TESTFIXTURE_FLAGS += -DSQLITE_DEFAULT_PAGE_SIZE=1024
@@ -1202,6 +1232,10 @@ testfixture$(TEXE): $(TESTFIXTURE_SRC)
12021232
$(LTLINK) -DSQLITE_NO_SYNC=1 $(TEMP_STORE) $(TESTFIXTURE_FLAGS) \
12031233
-o $@ $(TESTFIXTURE_SRC) $(LIBTCL) $(TLIBS)
12041234

1235+
coretestprogs: $(TESTPROGS)
1236+
1237+
testprogs: coretestprogs srcck1$(BEXE) fuzzcheck$(TEXE) sessionfuzz$(TEXE)
1238+
12051239
# A very detailed test running most or all test cases
12061240
fulltest: $(TESTPROGS) fuzztest
12071241
./testfixture$(TEXE) $(TOP)/test/all.test $(TESTOPTS)
@@ -1261,7 +1295,7 @@ sqlite3_analyzer.c: sqlite3.c $(TOP)/src/tclsqlite.c $(TOP)/tool/spaceanal.tcl $
12611295
sqlite3_analyzer$(TEXE): sqlite3_analyzer.c
12621296
$(LTLINK) sqlite3_analyzer.c -o $@ $(LIBTCL) $(TLIBS)
12631297

1264-
sqltclsh.c: sqlite3.c $(TOP)/src/tclsqlite.c $(TOP)/tool/sqltclsh.tcl $(TOP)/ext/misc/appendvfs.c $(TOP)/tool/mkccode.tcl $(TOP)/tool/sqltclsh.c.in
1298+
sqltclsh.c: sqlite3.c $(TOP)/src/tclsqlite.c $(TOP)/tool/sqltclsh.tcl $(TOP)/ext/misc/appendvfs.c $(TOP)/tool/mkccode.tcl $(TOP)/tool/sqltclsh.c.in
12651299
$(TCLSH_CMD) $(TOP)/tool/mkccode.tcl $(TOP)/tool/sqltclsh.c.in >sqltclsh.c
12661300

12671301
sqltclsh$(TEXE): sqltclsh.c
@@ -1308,6 +1342,9 @@ showshm$(TEXE): $(TOP)/tool/showshm.c
13081342
changeset$(TEXE): $(TOP)/ext/session/changeset.c sqlite3.lo
13091343
$(LTLINK) -o $@ $(TOP)/ext/session/changeset.c sqlite3.lo $(TLIBS)
13101344

1345+
changesetfuzz$(TEXE): $(TOP)/ext/session/changesetfuzz.c sqlite3.lo
1346+
$(LTLINK) -o $@ $(TOP)/ext/session/changesetfuzz.c sqlite3.lo $(TLIBS)
1347+
13111348
rollback-test$(TEXE): $(TOP)/tool/rollback-test.c sqlite3.lo
13121349
$(LTLINK) -o $@ $(TOP)/tool/rollback-test.c sqlite3.lo $(TLIBS)
13131350

@@ -1328,7 +1365,7 @@ KV_OPT += -DSQLITE_DIRECT_OVERFLOW_READ
13281365
kvtest$(TEXE): $(TOP)/test/kvtest.c sqlite3.c
13291366
$(LTLINK) $(KV_OPT) -o $@ $(TOP)/test/kvtest.c sqlite3.c $(TLIBS)
13301367

1331-
rbu$(EXE): $(TOP)/ext/rbu/rbu.c $(TOP)/ext/rbu/sqlite3rbu.c sqlite3.lo
1368+
rbu$(EXE): $(TOP)/ext/rbu/rbu.c $(TOP)/ext/rbu/sqlite3rbu.c sqlite3.lo
13321369
$(LTLINK) -I. -o $@ $(TOP)/ext/rbu/rbu.c sqlite3.lo $(TLIBS)
13331370

13341371
loadfts$(EXE): $(TOP)/tool/loadfts.c libsqlite3.la
@@ -1356,7 +1393,7 @@ snapshot-tarball: sqlite3.c
13561393
# The next two rules are used to support the "threadtest" target. Building
13571394
# threadtest runs a few thread-safety tests that are implemented in C. This
13581395
# target is invoked by the releasetest.tcl script.
1359-
#
1396+
#
13601397
THREADTEST3_SRC = $(TOP)/test/threadtest3.c \
13611398
$(TOP)/test/tt3_checkpoint.c \
13621399
$(TOP)/test/tt3_index.c \
@@ -1370,7 +1407,7 @@ threadtest3$(TEXE): sqlite3.lo $(THREADTEST3_SRC)
13701407
threadtest: threadtest3$(TEXE)
13711408
./threadtest3$(TEXE)
13721409

1373-
releasetest:
1410+
releasetest:
13741411
$(TCLSH_CMD) $(TOP)/test/releasetest.tcl
13751412

13761413
# Standard install and cleanup targets

Makefile.msc

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -345,6 +345,7 @@ OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_STMTVTAB=1
345345
OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_DBPAGE_VTAB=1
346346
OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_DBSTAT_VTAB=1
347347
OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_INTROSPECTION_PRAGMAS=1
348+
OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_DESERIALIZE=1
348349
!ENDIF
349350
OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_COLUMN_METADATA=1
350351
!ENDIF
@@ -1522,6 +1523,7 @@ TESTEXT = \
15221523
$(TOP)\ext\misc\closure.c \
15231524
$(TOP)\ext\misc\csv.c \
15241525
$(TOP)\ext\misc\eval.c \
1526+
$(TOP)\ext\misc\explain.c \
15251527
$(TOP)\ext\misc\fileio.c \
15261528
$(TOP)\ext\misc\fuzzer.c \
15271529
$(TOP)\ext\fts5\fts5_tcl.c \
@@ -1629,7 +1631,8 @@ FUZZDATA = \
16291631
$(TOP)\test\fuzzdata3.db \
16301632
$(TOP)\test\fuzzdata4.db \
16311633
$(TOP)\test\fuzzdata5.db \
1632-
$(TOP)\test\fuzzdata6.db
1634+
$(TOP)\test\fuzzdata6.db \
1635+
$(TOP)\test\fuzzdata7.db
16331636
# <</mark>>
16341637

16351638
# Additional compiler options for the shell. These are only effective
@@ -1639,6 +1642,7 @@ FUZZDATA = \
16391642
SHELL_COMPILE_OPTS = $(SHELL_COMPILE_OPTS) -DSQLITE_ENABLE_FTS4=1
16401643
SHELL_COMPILE_OPTS = $(SHELL_COMPILE_OPTS) -DSQLITE_ENABLE_EXPLAIN_COMMENTS=1
16411644
SHELL_COMPILE_OPTS = $(SHELL_COMPILE_OPTS) -DSQLITE_ENABLE_OFFSET_SQL_FUNC=1
1645+
SHELL_COMPILE_OPTS = $(SHELL_COMPILE_OPTS) -DSQLITE_ENABLE_DESERIALIZE=1
16421646
!ENDIF
16431647

16441648
# <<mark>>
@@ -2341,6 +2345,10 @@ extensiontest: testfixture.exe testloadext.dll
23412345
@set PATH=$(LIBTCLPATH);$(PATH)
23422346
.\testfixture.exe $(TOP)\test\loadext.test $(TESTOPTS)
23432347

2348+
coretestprogs: $(TESTPROGS)
2349+
2350+
testprogs: coretestprogs srcck1.exe fuzzcheck.exe sessionfuzz.exe
2351+
23442352
fulltest: $(TESTPROGS) fuzztest
23452353
@set PATH=$(LIBTCLPATH);$(PATH)
23462354
.\testfixture.exe $(TOP)\test\all.test $(TESTOPTS)
@@ -2448,6 +2456,11 @@ changeset.exe: $(TOP)\ext\session\changeset.c $(SQLITE3C) $(SQLITE3H)
24482456
-DSQLITE_ENABLE_SESSION=1 -DSQLITE_ENABLE_PREUPDATE_HOOK=1 \
24492457
$(TOP)\ext\session\changeset.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
24502458

2459+
changesetfuzz.exe: $(TOP)\ext\session\changesetfuzz.c $(SQLITE3C) $(SQLITE3H)
2460+
$(LTLINK) $(NO_WARN) -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION \
2461+
-DSQLITE_ENABLE_SESSION=1 -DSQLITE_ENABLE_PREUPDATE_HOOK=1 \
2462+
$(TOP)\ext\session\changesetfuzz.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
2463+
24512464
fts3view.exe: $(TOP)\ext\fts3\tool\fts3view.c $(SQLITE3C) $(SQLITE3H)
24522465
$(LTLINK) $(NO_WARN) -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION \
24532466
$(TOP)\ext\fts3\tool\fts3view.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3.25.2
1+
3.26.0

0 commit comments

Comments
 (0)