]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Add support for the analyze() extension function to the fuzzcheck test
authordrh <>
Wed, 15 Apr 2026 13:05:43 +0000 (13:05 +0000)
committerdrh <>
Wed, 15 Apr 2026 13:05:43 +0000 (13:05 +0000)
program.

FossilOrigin-Name: abd94554d24122f0e0c3b7b36e5846e8c7aa0dddbddd9aae35b3f6ae6ab283c0

Makefile.msc
main.mk
manifest
manifest.uuid
test/fuzzcheck.c

index a6659d3a934737b41cb05e82480855e1c895bff4..62c87cb594c93781328832578c4cc7b14f0e2cea 100644 (file)
@@ -1766,6 +1766,7 @@ FUZZCHECK_SRC = $(FUZZCHECK_SRC) $(TOP)\test\fuzzinvariants.c
 FUZZCHECK_SRC = $(FUZZCHECK_SRC) $(TOP)\test\vt02.c
 FUZZCHECK_SRC = $(FUZZCHECK_SRC) $(TOP)\ext\recover\dbdata.c
 FUZZCHECK_SRC = $(FUZZCHECK_SRC) $(TOP)\ext\recover\sqlite3recover.c
+FUZZCHECK_SRC = $(FUZZCHECK_SRC) $(TOP)\ext\misc\analyze.c
 FUZZCHECK_SRC = $(FUZZCHECK_SRC) $(TOP)\ext\misc\base64.c
 FUZZCHECK_SRC = $(FUZZCHECK_SRC) $(TOP)\ext\misc\base85.c
 FUZZCHECK_SRC = $(FUZZCHECK_SRC) $(TOP)\ext\misc\completion.c
diff --git a/main.mk b/main.mk
index 7b5fbd45ab63f04d29a1bcc9bcd1d6e555ad8fa8..e6cff6b0a26d3d99379cc521ec709922bd939401 100644 (file)
--- a/main.mk
+++ b/main.mk
@@ -982,6 +982,7 @@ FUZZCHECK_SRC = sqlite3.c \
    $(TOP)/ext/recover/dbdata.c \
    $(TOP)/ext/recover/sqlite3recover.c \
    $(TOP)/test/vt02.c \
+   $(TOP)/ext/misc/analyze.c \
    $(TOP)/ext/misc/base64.c \
    $(TOP)/ext/misc/base85.c \
    $(TOP)/ext/misc/completion.c \
index d663743149edabe206643abdb8eebbd7bd9c3558..0dc37e1c99c9f75e673378c0863692af48c88a4a 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,12 +1,12 @@
-C Improve\sthe\sanalyze()\sextension\sso\sthat\sit\sreturns\sa\ssimple\serror\smessage\nas\stext\s(it\sdoes\snot\sthrow\san\serror)\sif\sthe\sdatabase\sis\sempty\sor\sis\s"temp"\nor\sdoes\snot\sexist.
-D 2026-04-15T12:47:37.067
+C Add\ssupport\sfor\sthe\sanalyze()\sextension\sfunction\sto\sthe\sfuzzcheck\stest\nprogram.
+D 2026-04-15T13:05:43.445
 F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md 6bc480fc673fb4acbc4094e77edb326267dd460162d7723c7f30bee2d3d9e97d
 F Makefile.in 5fda086f33b144da08119255da1d2557f983d0764a13707f05acf0159fd89ba5
 F Makefile.linux-generic bd3e3cacd369821a6241d4ea1967395c962dfe3057e38cb0a435cee0e8b789d0
-F Makefile.msc aa88f502c6ae09b061f20de74ab3d2a88872845118b8da59fb00ff8996fa3fba
+F Makefile.msc 5f54de6ee82c2401f17bb0e1b9051466d6cc131c7a99fa3e0005ca02eae27e1c
 F README.md e4f1a030f813c2fafc898c66d4f10bff2c75eb1a8f504eb9ad9a5ef80e3ff814
 F VERSION 99cf3be5f13d091183e4314b7fc2e0c0e69accfbe64608b45a313338bbdd7b62
 F art/icon-243x273.gif 9750b734f82fdb3dc43127753d5e6fbf3b62c9f4e136c2fbf573b2f57ea87af5
@@ -657,7 +657,7 @@ F ext/wasm/tests/opfs/sahpool/index.html be736567fd92d3ecb9754c145755037cbbd2bca
 F ext/wasm/tests/opfs/sahpool/sahpool-pausing.js f264925cfc82155de38cecb3d204c36e0f6991460fff0cb7c15079454679a4e2
 F ext/wasm/tests/opfs/sahpool/sahpool-worker.js bd25a43fc2ab2d1bafd8f2854ad3943ef673f7c3be03e95ecf1612ff6e8e2a61
 F magic.txt 5ade0bc977aa135e79e3faaea894d5671b26107cc91e70783aa7dc83f22f3ba0
-F main.mk 81db7124eccf19888d235e85f5c3c454499133b9c46f133b5d432d647b281c25
+F main.mk f5283da2d8494486e72a6f49463d68c083201d7524433b914355ed716ec87ecc
 F make.bat a136fd0b1c93e89854a86d5f4edcf0386d211e5d5ec2434480f6eea436c7420c
 F mptest/config01.test 3c6adcbc50b991866855f1977ff172eb6d901271
 F mptest/config02.test 4415dfe36c48785f751e16e32c20b077c28ae504
@@ -1246,7 +1246,7 @@ F test/fuzz3.test 70ba57260364b83e964707b9d4b5625284239768ab907dd387c740c0370ce3
 F test/fuzz4.test c229bcdb45518a89e1d208a21343e061503460ac69fae1539320a89f572eb634
 F test/fuzz_common.tcl b7197de6ed1ee8250a4f82d67876f4561b42ee8cbbfc6160dcb66331bad3f830
 F test/fuzz_malloc.test f348276e732e814802e39f042b1f6da6362a610af73a528d8f76898fde6b22f2
-F test/fuzzcheck.c 207d3d1c1d578928f16dec20df781c5d13c2fd4694b4d70e72242f4dcb799830
+F test/fuzzcheck.c 5048a2426bd6968a1b9a00cef7f3aa37442a261df3b532c9e44a1f829bddbede
 F test/fuzzdata1.db 3e86d9cf5aea68ddb8e27c02d7dfdaa226347426c7eb814918e4d95475bf8517
 F test/fuzzdata2.db 128b3feeb78918d075c9b14b48610145a0dd4c8d6f1ca7c2870c7e425f5bf31f
 F test/fuzzdata3.db c6586d3e3cef0fbc18108f9bb649aa77bfc38aba
@@ -2199,8 +2199,8 @@ F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee
 F tool/warnings.sh a554d13f6e5cf3760f041b87939e3d616ec6961859c3245e8ef701d1eafc2ca2
 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
 F tool/winmain.c 00c8fb88e365c9017db14c73d3c78af62194d9644feaf60e220ab0f411f3604c
-P 5a0ee6e227042e41ac64869c75f961798b252458670c18662175fe5bfa8b87d3
-R eb7632df63c4ce7b411b96612239583b
+P 35379f60922f14d4f6d231ae627df066ad4e4510208bcc244505b9afb279f2fa
+R 28006860b1b1a43a829288faaa7963e6
 U drh
-Z 56de577137e31c506eb335f00d8e805c
+Z e63bdb2ecb78062185d63a76b70d31ae
 # Remove this line to create a well-formed Fossil manifest.
index 6230af7d2a2baf855353164616ab4627b95fb1c4..bcc31d6ce6f3f090bdd0143807eb26052d3ab0c6 100644 (file)
@@ -1 +1 @@
-35379f60922f14d4f6d231ae627df066ad4e4510208bcc244505b9afb279f2fa
+abd94554d24122f0e0c3b7b36e5846e8c7aa0dddbddd9aae35b3f6ae6ab283c0
index 46328fb14aee6bb097e122d6b2ed2a6ab5f25392..082d29b5bc8b66a2915208374eb8f264bf03d318 100644 (file)
@@ -172,6 +172,7 @@ static struct GlobalVars {
 extern int sqlite3_vt02_init(sqlite3*,char**,void*);
 extern int sqlite3_randomjson_init(sqlite3*,char**,void*);
 extern int sqlite3_series_init(sqlite3*,char**,void*);
+extern int sqlite3_analyze_init(sqlite3*,char**,void*);
 extern int sqlite3_base64_init(sqlite3*,char**,void*);
 extern int sqlite3_base85_init(sqlite3*,char**,void*);
 extern int sqlite3_completion_init(sqlite3*,char**,void*);
@@ -1393,6 +1394,7 @@ int runCombinedDbSqlInput(
   /* Activate extensions */
   sqlite3_randomjson_init(cx.db, 0, 0);
   sqlite3_series_init(cx.db, 0, 0);
+  sqlite3_analyze_init(cx.db, 0, 0);
   sqlite3_base64_init(cx.db, 0, 0);
   sqlite3_base85_init(cx.db, 0, 0);
   sqlite3_completion_init(cx.db, 0, 0);