Skip to content

Commit 884e09d

Browse files
committed
Merge sqlite-release(3.43.0) into prerelease-integration
2 parents 8ac3891 + c9d47f9 commit 884e09d

File tree

298 files changed

+35173
-39911
lines changed

Some content is hidden

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

298 files changed

+35173
-39911
lines changed

Makefile.in

Lines changed: 43 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -621,7 +621,7 @@ SHELL_OPT += -DSQLITE_ENABLE_DBPAGE_VTAB
621621
SHELL_OPT += -DSQLITE_ENABLE_DBSTAT_VTAB
622622
SHELL_OPT += -DSQLITE_ENABLE_BYTECODE_VTAB
623623
SHELL_OPT += -DSQLITE_ENABLE_OFFSET_SQL_FUNC
624-
FUZZERSHELL_OPT =
624+
FUZZERSHELL_OPT =
625625
FUZZCHECK_OPT += -I$(TOP)/test
626626
FUZZCHECK_OPT += -I$(TOP)/ext/recover
627627
FUZZCHECK_OPT += \
@@ -712,6 +712,12 @@ srcck1$(BEXE): $(TOP)/tool/srcck1.c
712712
sourcetest: srcck1$(BEXE) sqlite3.c
713713
./srcck1 sqlite3.c
714714

715+
src-verify: $(TOP)/tool/src-verify.c
716+
$(BCC) -o src-verify$(BEXE) $(TOP)/tool/src-verify.c
717+
718+
verify-source: ./src-verify
719+
./src-verify $(TOP)
720+
715721
fuzzershell$(TEXE): $(TOP)/tool/fuzzershell.c sqlite3.c sqlite3.h
716722
$(LTLINK) -o $@ $(FUZZERSHELL_OPT) \
717723
$(TOP)/tool/fuzzershell.c sqlite3.c $(TLIBS)
@@ -797,7 +803,7 @@ mptest: mptester$(TEXE)
797803
cp fts5.c fts5.h tsrc
798804
touch .target_source
799805

800-
sqlite3.c: .target_source $(TOP)/tool/mksqlite3c.tcl
806+
sqlite3.c: .target_source $(TOP)/tool/mksqlite3c.tcl src-verify
801807
$(TCLSH_CMD) $(TOP)/tool/mksqlite3c.tcl $(AMALGAMATION_LINE_MACROS)
802808
cp tsrc/sqlite3ext.h .
803809
cp $(TOP)/ext/session/sqlite3session.h .
@@ -1170,6 +1176,7 @@ SHELL_SRC = \
11701176
$(TOP)/ext/expert/sqlite3expert.h \
11711177
$(TOP)/ext/misc/zipfile.c \
11721178
$(TOP)/ext/misc/memtrace.c \
1179+
$(TOP)/ext/misc/pcachetrace.c \
11731180
$(TOP)/ext/recover/dbdata.c \
11741181
$(TOP)/ext/recover/sqlite3recover.c \
11751182
$(TOP)/ext/recover/sqlite3recover.h \
@@ -1344,6 +1351,12 @@ testrunner: testfixture$(TEXE)
13441351
#
13451352
devtest: testfixture$(TEXE) fuzztest testrunner
13461353

1354+
mdevtest:
1355+
$(TCLSH_CMD) $(TOP)/test/testrunner.tcl mdevtest
1356+
1357+
sdevtest:
1358+
$(TCLSH_CMD) $(TOP)/test/testrunner.tcl sdevtest
1359+
13471360
# Testing for a release
13481361
#
13491362
releasetest: testfixture$(TEXE)
@@ -1543,6 +1556,7 @@ clean:
15431556
rm -f LogEst$(TEXE) fts3view$(TEXE) rollback-test$(TEXE) showdb$(TEXE)
15441557
rm -f showjournal$(TEXE) showstat4$(TEXE) showwal$(TEXE) speedtest1$(TEXE)
15451558
rm -f wordcount$(TEXE) changeset$(TEXE)
1559+
rm -f version-info$(TEXT)
15461560
rm -f sqlite3.dll sqlite3.lib sqlite3.exp sqlite3.def
15471561
rm -f sqlite3.c
15481562
rm -f sqlite3rc.h
@@ -1558,6 +1572,8 @@ clean:
15581572
rm -f dbhash dbhash.exe
15591573
rm -f fts5.* fts5parse.*
15601574
rm -f threadtest5
1575+
rm -f src-verify
1576+
rm -f custom.rws
15611577

15621578
distclean: clean
15631579
rm -f sqlite_cfg.h config.log config.status libtool Makefile sqlcipher.pc \
@@ -1586,3 +1602,28 @@ sqlite3.dll: $(REAL_LIBOBJ) sqlite3.def
15861602
#
15871603
fiddle: sqlite3.c shell.c
15881604
make -C ext/wasm fiddle emcc_opt=-Os
1605+
1606+
#
1607+
# Spell-checking for source comments
1608+
# The sources checked are either C sources or C source templates.
1609+
# Their comments are extracted and processed through aspell using
1610+
# a custom dictionary that contains scads of odd identifiers that
1611+
# find their way into the comments.
1612+
#
1613+
# Currently, this target is setup to be "made" in-tree only.
1614+
# The output is ephemeral. Redirect it to guide spelling fixups,
1615+
# either to correct spelling or add words to tool/custom.txt.
1616+
#
1617+
./custom.rws: ./tool/custom.txt
1618+
@echo 'Updating custom dictionary from tool/custom.txt'
1619+
aspell --lang=en create master ./custom.rws < $<
1620+
1621+
misspell: ./custom.rws
1622+
$(TCLSH_CMD) ./tool/spellsift.tcl ./src/*.c ./src/*.h ./src/*.in
1623+
1624+
#
1625+
# tool/version-info: a utility for emitting sqlite3 version info
1626+
# in various forms.
1627+
#
1628+
version-info$(TEXE): $(TOP)/tool/version-info.c Makefile sqlite3.h
1629+
$(LTLINK) $(ST_OPT) -o $@ $(TOP)/tool/version-info.c

Makefile.linux-gcc

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,6 @@ TOP = ../sqlite
2222
BCC = gcc -g -O0
2323
#BCC = /opt/ancic/bin/c89 -0
2424

25-
#### If the target operating system supports the "usleep()" system
26-
# call, then define the HAVE_USLEEP macro for all C modules.
27-
#
28-
#USLEEP =
29-
USLEEP = -DHAVE_USLEEP=1
30-
3125
#### If you want the SQLite library to be safe for use within a
3226
# multi-threaded program, then define the following macro
3327
# appropriately:

Makefile.msc

Lines changed: 52 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,13 @@ MINIMAL_AMALGAMATION = 0
5252
USE_STDCALL = 0
5353
!ENDIF
5454

55+
# Set this non-0 to use structured exception handling (SEH) for WAL mode
56+
# in the core library.
57+
#
58+
!IFNDEF USE_SEH
59+
USE_SEH = 1
60+
!ENDIF
61+
5562
# Set this non-0 to have the shell executable link against the core dynamic
5663
# link library.
5764
#
@@ -218,6 +225,12 @@ WIN32HEAP = 0
218225
OSTRACE = 0
219226
!ENDIF
220227

228+
# enable address sanitizer using ASAN=1 on the command-line.
229+
#
230+
!IFNDEF ASAN
231+
ASAN = 0
232+
!ENDIF
233+
221234
# Set this to one of the following values to enable various debugging
222235
# features. Each level includes the debugging options from the previous
223236
# levels. Currently, the recognized values for DEBUG are:
@@ -389,6 +402,13 @@ OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_MATH_FUNCTIONS
389402
OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_ENABLE_RBU=1
390403
!ENDIF
391404

405+
# Should structured exception handling (SEH) be enabled for WAL mode in
406+
# the core library?
407+
#
408+
!IF $(USE_SEH)!=0
409+
OPT_FEATURE_FLAGS = $(OPT_FEATURE_FLAGS) -DSQLITE_USE_SEH=1
410+
!ENDIF
411+
392412
# These are the "extended" SQLite compilation options used when compiling for
393413
# the Windows 10 platform.
394414
#
@@ -877,6 +897,13 @@ RCC = $(RCC) -DSQLITE_WIN32_MALLOC_VALIDATE=1
877897
!ENDIF
878898
!ENDIF
879899

900+
901+
# Address sanitizer if ASAN=1
902+
#
903+
!IF $(ASAN)>0
904+
TCC = $(TCC) /fsanitize=address
905+
!ENDIF
906+
880907
# <<mark>>
881908
# The locations of the Tcl header and library files. Also, the library that
882909
# non-stubs enabled programs using Tcl must link against. These variables
@@ -1815,6 +1842,12 @@ srcck1.exe: $(TOP)\tool\srcck1.c
18151842
sourcetest: srcck1.exe $(SQLITE3C)
18161843
srcck1.exe $(SQLITE3C)
18171844

1845+
src-verify.exe: $(TOP)\tool\src-verify.c
1846+
$(LTLINK) $(NO_WARN) $(TOP)\tool\src-verify.c
1847+
1848+
verify-source: src-verify.exe
1849+
src-verify.exe $(TOP)
1850+
18181851
fuzzershell.exe: $(TOP)\tool\fuzzershell.c $(SQLITE3C) $(SQLITE3H)
18191852
$(LTLINK) $(NO_WARN) $(FUZZERSHELL_COMPILE_OPTS) $(TOP)\tool\fuzzershell.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
18201853

@@ -1878,7 +1911,7 @@ mptest: mptester.exe
18781911
move vdbe.new tsrc\vdbe.c
18791912
echo > .target_source
18801913

1881-
sqlite3.c: .target_source sqlite3ext.h sqlite3session.h $(MKSQLITE3C_TOOL)
1914+
sqlite3.c: .target_source sqlite3ext.h sqlite3session.h $(MKSQLITE3C_TOOL) src-verify.exe
18821915
$(TCLSH_CMD) $(MKSQLITE3C_TOOL) $(MKSQLITE3C_ARGS)
18831916

18841917
sqlite3-all.c: sqlite3.c $(TOP)\tool\split-sqlite3c.tcl
@@ -2234,8 +2267,8 @@ SHELL_SRC = \
22342267
$(TOP)\src\shell.c.in \
22352268
$(TOP)\ext\misc\appendvfs.c \
22362269
$(TOP)\ext\misc\completion.c \
2237-
$(TOP)\ext\misc\base64.c \
2238-
$(TOP)\ext\misc\base85.c \
2270+
$(TOP)\ext\misc\base64.c \
2271+
$(TOP)\ext\misc\base85.c \
22392272
$(TOP)\ext\misc\decimal.c \
22402273
$(TOP)\ext\misc\fileio.c \
22412274
$(TOP)\ext\misc\ieee754.c \
@@ -2246,9 +2279,10 @@ SHELL_SRC = \
22462279
$(TOP)\ext\expert\sqlite3expert.c \
22472280
$(TOP)\ext\expert\sqlite3expert.h \
22482281
$(TOP)\ext\misc\memtrace.c \
2249-
$(TOP)/ext/recover/dbdata.c \
2250-
$(TOP)/ext/recover/sqlite3recover.c \
2251-
$(TOP)/ext/recover/sqlite3recover.h \
2282+
$(TOP)\ext\misc\pcachetrace.c \
2283+
$(TOP)\ext\recover\dbdata.c \
2284+
$(TOP)\ext\recover\sqlite3recover.c \
2285+
$(TOP)\ext\recover\sqlite3recover.h \
22522286
$(TOP)\src\test_windirent.c
22532287

22542288
# If use of zlib is enabled, add the "zipfile.c" source file.
@@ -2492,10 +2526,13 @@ testrunner: testfixture.exe
24922526
#
24932527
devtest: testfixture.exe fuzztest testrunner
24942528

2529+
mdevtest:
2530+
$(TCLSH_CMD) $(TOP)\test\testrunner.tcl mdevtest
2531+
24952532
# Testing for a release
24962533
#
24972534
releasetest: testfixture.exe fuzztest
2498-
testfixture.exe $(TOP)/test/testrunner.tcl release
2535+
testfixture.exe $(TOP)\test\testrunner.tcl release
24992536

25002537

25012538
smoketest: $(TESTPROGS)
@@ -2523,14 +2560,14 @@ sqlite3_expert.exe: $(SQLITE3C) $(TOP)\ext\expert\sqlite3expert.h $(TOP)\ext\exp
25232560
$(LTLINK) $(NO_WARN) $(TOP)\ext\expert\sqlite3expert.c $(TOP)\ext\expert\expert.c $(SQLITE3C) $(TLIBS)
25242561

25252562
CHECKER_DEPS =\
2526-
$(TOP)/tool/mkccode.tcl \
2563+
$(TOP)\tool\mkccode.tcl \
25272564
sqlite3.c \
2528-
$(TOP)/src/tclsqlite.c \
2529-
$(TOP)/ext/repair/sqlite3_checker.tcl \
2530-
$(TOP)/ext/repair/checkindex.c \
2531-
$(TOP)/ext/repair/checkfreelist.c \
2532-
$(TOP)/ext/misc/btreeinfo.c \
2533-
$(TOP)/ext/repair/sqlite3_checker.c.in
2565+
$(TOP)\src\tclsqlite.c \
2566+
$(TOP)\ext\repair\sqlite3_checker.tcl \
2567+
$(TOP)\ext\repair\checkindex.c \
2568+
$(TOP)\ext\repair\checkfreelist.c \
2569+
$(TOP)\ext\misc\btreeinfo.c \
2570+
$(TOP)\ext\repair\sqlite3_checker.c.in
25342571

25352572
sqlite3_checker.c: $(CHECKER_DEPS)
25362573
$(TCLSH_CMD) $(TOP)\tool\mkccode.tcl $(TOP)\ext\repair\sqlite3_checker.c.in > $@
@@ -2669,4 +2706,5 @@ clean:
26692706
del /Q showshm.exe sqlite3_checker.* sqlite3_expert.exe 2>NUL
26702707
del /Q fts5.* fts5parse.* 2>NUL
26712708
del /Q lsm.h lsm1.c 2>NUL
2709+
del /q src-verify.exe 2>NUL
26722710
# <</mark>>

0 commit comments

Comments
 (0)