Skip to content

Commit c9d47f9

Browse files
committed
Snapshot of upstream SQLite 3.43.0
1 parent bfaa4f1 commit c9d47f9

File tree

296 files changed

+31995
-37389
lines changed

Some content is hidden

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

296 files changed

+31995
-37389
lines changed

Makefile.in

Lines changed: 43 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -599,7 +599,7 @@ SHELL_OPT += -DSQLITE_ENABLE_DBPAGE_VTAB
599599
SHELL_OPT += -DSQLITE_ENABLE_DBSTAT_VTAB
600600
SHELL_OPT += -DSQLITE_ENABLE_BYTECODE_VTAB
601601
SHELL_OPT += -DSQLITE_ENABLE_OFFSET_SQL_FUNC
602-
FUZZERSHELL_OPT =
602+
FUZZERSHELL_OPT =
603603
FUZZCHECK_OPT += -I$(TOP)/test
604604
FUZZCHECK_OPT += -I$(TOP)/ext/recover
605605
FUZZCHECK_OPT += \
@@ -690,6 +690,12 @@ srcck1$(BEXE): $(TOP)/tool/srcck1.c
690690
sourcetest: srcck1$(BEXE) sqlite3.c
691691
./srcck1 sqlite3.c
692692

693+
src-verify: $(TOP)/tool/src-verify.c
694+
$(BCC) -o src-verify$(BEXE) $(TOP)/tool/src-verify.c
695+
696+
verify-source: ./src-verify
697+
./src-verify $(TOP)
698+
693699
fuzzershell$(TEXE): $(TOP)/tool/fuzzershell.c sqlite3.c sqlite3.h
694700
$(LTLINK) -o $@ $(FUZZERSHELL_OPT) \
695701
$(TOP)/tool/fuzzershell.c sqlite3.c $(TLIBS)
@@ -775,7 +781,7 @@ mptest: mptester$(TEXE)
775781
cp fts5.c fts5.h tsrc
776782
touch .target_source
777783

778-
sqlite3.c: .target_source $(TOP)/tool/mksqlite3c.tcl
784+
sqlite3.c: .target_source $(TOP)/tool/mksqlite3c.tcl src-verify
779785
$(TCLSH_CMD) $(TOP)/tool/mksqlite3c.tcl $(AMALGAMATION_LINE_MACROS)
780786
cp tsrc/sqlite3ext.h .
781787
cp $(TOP)/ext/session/sqlite3session.h .
@@ -1133,6 +1139,7 @@ SHELL_SRC = \
11331139
$(TOP)/ext/expert/sqlite3expert.h \
11341140
$(TOP)/ext/misc/zipfile.c \
11351141
$(TOP)/ext/misc/memtrace.c \
1142+
$(TOP)/ext/misc/pcachetrace.c \
11361143
$(TOP)/ext/recover/dbdata.c \
11371144
$(TOP)/ext/recover/sqlite3recover.c \
11381145
$(TOP)/ext/recover/sqlite3recover.h \
@@ -1307,6 +1314,12 @@ testrunner: testfixture$(TEXE)
13071314
#
13081315
devtest: testfixture$(TEXE) fuzztest testrunner
13091316

1317+
mdevtest:
1318+
$(TCLSH_CMD) $(TOP)/test/testrunner.tcl mdevtest
1319+
1320+
sdevtest:
1321+
$(TCLSH_CMD) $(TOP)/test/testrunner.tcl sdevtest
1322+
13101323
# Testing for a release
13111324
#
13121325
releasetest: testfixture$(TEXE)
@@ -1506,6 +1519,7 @@ clean:
15061519
rm -f LogEst$(TEXE) fts3view$(TEXE) rollback-test$(TEXE) showdb$(TEXE)
15071520
rm -f showjournal$(TEXE) showstat4$(TEXE) showwal$(TEXE) speedtest1$(TEXE)
15081521
rm -f wordcount$(TEXE) changeset$(TEXE)
1522+
rm -f version-info$(TEXT)
15091523
rm -f sqlite3.dll sqlite3.lib sqlite3.exp sqlite3.def
15101524
rm -f sqlite3.c
15111525
rm -f sqlite3rc.h
@@ -1521,6 +1535,8 @@ clean:
15211535
rm -f dbhash dbhash.exe
15221536
rm -f fts5.* fts5parse.*
15231537
rm -f threadtest5
1538+
rm -f src-verify
1539+
rm -f custom.rws
15241540

15251541
distclean: clean
15261542
rm -f sqlite_cfg.h config.log config.status libtool Makefile sqlite3.pc \
@@ -1549,3 +1565,28 @@ sqlite3.dll: $(REAL_LIBOBJ) sqlite3.def
15491565
#
15501566
fiddle: sqlite3.c shell.c
15511567
make -C ext/wasm fiddle emcc_opt=-Os
1568+
1569+
#
1570+
# Spell-checking for source comments
1571+
# The sources checked are either C sources or C source templates.
1572+
# Their comments are extracted and processed through aspell using
1573+
# a custom dictionary that contains scads of odd identifiers that
1574+
# find their way into the comments.
1575+
#
1576+
# Currently, this target is setup to be "made" in-tree only.
1577+
# The output is ephemeral. Redirect it to guide spelling fixups,
1578+
# either to correct spelling or add words to tool/custom.txt.
1579+
#
1580+
./custom.rws: ./tool/custom.txt
1581+
@echo 'Updating custom dictionary from tool/custom.txt'
1582+
aspell --lang=en create master ./custom.rws < $<
1583+
1584+
misspell: ./custom.rws
1585+
$(TCLSH_CMD) ./tool/spellsift.tcl ./src/*.c ./src/*.h ./src/*.in
1586+
1587+
#
1588+
# tool/version-info: a utility for emitting sqlite3 version info
1589+
# in various forms.
1590+
#
1591+
version-info$(TEXE): $(TOP)/tool/version-info.c Makefile sqlite3.h
1592+
$(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
@@ -1807,6 +1834,12 @@ srcck1.exe: $(TOP)\tool\srcck1.c
18071834
sourcetest: srcck1.exe $(SQLITE3C)
18081835
srcck1.exe $(SQLITE3C)
18091836

1837+
src-verify.exe: $(TOP)\tool\src-verify.c
1838+
$(LTLINK) $(NO_WARN) $(TOP)\tool\src-verify.c
1839+
1840+
verify-source: src-verify.exe
1841+
src-verify.exe $(TOP)
1842+
18101843
fuzzershell.exe: $(TOP)\tool\fuzzershell.c $(SQLITE3C) $(SQLITE3H)
18111844
$(LTLINK) $(NO_WARN) $(FUZZERSHELL_COMPILE_OPTS) $(TOP)\tool\fuzzershell.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
18121845

@@ -1870,7 +1903,7 @@ mptest: mptester.exe
18701903
move vdbe.new tsrc\vdbe.c
18711904
echo > .target_source
18721905

1873-
sqlite3.c: .target_source sqlite3ext.h sqlite3session.h $(MKSQLITE3C_TOOL)
1906+
sqlite3.c: .target_source sqlite3ext.h sqlite3session.h $(MKSQLITE3C_TOOL) src-verify.exe
18741907
$(TCLSH_CMD) $(MKSQLITE3C_TOOL) $(MKSQLITE3C_ARGS)
18751908

18761909
sqlite3-all.c: sqlite3.c $(TOP)\tool\split-sqlite3c.tcl
@@ -2226,8 +2259,8 @@ SHELL_SRC = \
22262259
$(TOP)\src\shell.c.in \
22272260
$(TOP)\ext\misc\appendvfs.c \
22282261
$(TOP)\ext\misc\completion.c \
2229-
$(TOP)\ext\misc\base64.c \
2230-
$(TOP)\ext\misc\base85.c \
2262+
$(TOP)\ext\misc\base64.c \
2263+
$(TOP)\ext\misc\base85.c \
22312264
$(TOP)\ext\misc\decimal.c \
22322265
$(TOP)\ext\misc\fileio.c \
22332266
$(TOP)\ext\misc\ieee754.c \
@@ -2238,9 +2271,10 @@ SHELL_SRC = \
22382271
$(TOP)\ext\expert\sqlite3expert.c \
22392272
$(TOP)\ext\expert\sqlite3expert.h \
22402273
$(TOP)\ext\misc\memtrace.c \
2241-
$(TOP)/ext/recover/dbdata.c \
2242-
$(TOP)/ext/recover/sqlite3recover.c \
2243-
$(TOP)/ext/recover/sqlite3recover.h \
2274+
$(TOP)\ext\misc\pcachetrace.c \
2275+
$(TOP)\ext\recover\dbdata.c \
2276+
$(TOP)\ext\recover\sqlite3recover.c \
2277+
$(TOP)\ext\recover\sqlite3recover.h \
22442278
$(TOP)\src\test_windirent.c
22452279

22462280
# If use of zlib is enabled, add the "zipfile.c" source file.
@@ -2484,10 +2518,13 @@ testrunner: testfixture.exe
24842518
#
24852519
devtest: testfixture.exe fuzztest testrunner
24862520

2521+
mdevtest:
2522+
$(TCLSH_CMD) $(TOP)\test\testrunner.tcl mdevtest
2523+
24872524
# Testing for a release
24882525
#
24892526
releasetest: testfixture.exe fuzztest
2490-
testfixture.exe $(TOP)/test/testrunner.tcl release
2527+
testfixture.exe $(TOP)\test\testrunner.tcl release
24912528

24922529

24932530
smoketest: $(TESTPROGS)
@@ -2515,14 +2552,14 @@ sqlite3_expert.exe: $(SQLITE3C) $(TOP)\ext\expert\sqlite3expert.h $(TOP)\ext\exp
25152552
$(LTLINK) $(NO_WARN) $(TOP)\ext\expert\sqlite3expert.c $(TOP)\ext\expert\expert.c $(SQLITE3C) $(TLIBS)
25162553

25172554
CHECKER_DEPS =\
2518-
$(TOP)/tool/mkccode.tcl \
2555+
$(TOP)\tool\mkccode.tcl \
25192556
sqlite3.c \
2520-
$(TOP)/src/tclsqlite.c \
2521-
$(TOP)/ext/repair/sqlite3_checker.tcl \
2522-
$(TOP)/ext/repair/checkindex.c \
2523-
$(TOP)/ext/repair/checkfreelist.c \
2524-
$(TOP)/ext/misc/btreeinfo.c \
2525-
$(TOP)/ext/repair/sqlite3_checker.c.in
2557+
$(TOP)\src\tclsqlite.c \
2558+
$(TOP)\ext\repair\sqlite3_checker.tcl \
2559+
$(TOP)\ext\repair\checkindex.c \
2560+
$(TOP)\ext\repair\checkfreelist.c \
2561+
$(TOP)\ext\misc\btreeinfo.c \
2562+
$(TOP)\ext\repair\sqlite3_checker.c.in
25262563

25272564
sqlite3_checker.c: $(CHECKER_DEPS)
25282565
$(TCLSH_CMD) $(TOP)\tool\mkccode.tcl $(TOP)\ext\repair\sqlite3_checker.c.in > $@
@@ -2661,4 +2698,5 @@ clean:
26612698
del /Q showshm.exe sqlite3_checker.* sqlite3_expert.exe 2>NUL
26622699
del /Q fts5.* fts5parse.* 2>NUL
26632700
del /Q lsm.h lsm1.c 2>NUL
2701+
del /q src-verify.exe 2>NUL
26642702
# <</mark>>

0 commit comments

Comments
 (0)