From: drh <> Date: Sat, 31 Aug 2024 19:24:17 +0000 (+0000) Subject: Include percentile() and merge() in the fuzzcheck test utility. X-Git-Tag: version-3.47.0~161 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c1042cd133c38e75742efd74fb50055d6c17f2c1;p=thirdparty%2Fsqlite.git Include percentile() and merge() in the fuzzcheck test utility. FossilOrigin-Name: d1d0942a947803d45a1fd9068f3518cf412178b6b9bafcb82db44c52d5820c11 --- diff --git a/Makefile.in b/Makefile.in index 9fcf87f941..2377146417 100644 --- a/Makefile.in +++ b/Makefile.in @@ -650,6 +650,7 @@ FUZZCHECK_SRC += $(TOP)/test/fuzzinvariants.c FUZZCHECK_SRC += $(TOP)/ext/recover/dbdata.c FUZZCHECK_SRC += $(TOP)/ext/recover/sqlite3recover.c FUZZCHECK_SRC += $(TOP)/test/vt02.c +FUZZCHECK_SRC += $(TOP)/ext/misc/percentile.c FUZZCHECK_SRC += $(TOP)/ext/misc/randomjson.c DBFUZZ_OPT = ST_OPT = -DSQLITE_OS_KV_OPTIONAL diff --git a/Makefile.msc b/Makefile.msc index 27513da12f..fde1f31a9f 100644 --- a/Makefile.msc +++ b/Makefile.msc @@ -1767,6 +1767,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\percentile.c FUZZCHECK_SRC = $(FUZZCHECK_SRC) $(TOP)\ext\misc\randomjson.c OSSSHELL_SRC = $(TOP)\test\ossshell.c $(TOP)\test\ossfuzz.c diff --git a/ext/misc/percentile.c b/ext/misc/percentile.c index e4b4fdf284..3e619db69e 100644 --- a/ext/misc/percentile.c +++ b/ext/misc/percentile.c @@ -95,8 +95,12 @@ ** often small. The developers might revisit that decision later, ** should the need arise. */ -#include "sqlite3ext.h" -SQLITE_EXTENSION_INIT1 +#ifdef SQLITE_STATIC_PERCENTILE +# include "sqlite3.h" +#else +# include "sqlite3ext.h" + SQLITE_EXTENSION_INIT1 +#endif #include #include #include @@ -425,7 +429,11 @@ int sqlite3_percentile_init( const sqlite3_api_routines *pApi ){ int rc = SQLITE_OK; +#ifdef SQLITE_STATIC_PERCENTILE + (void)pApi; /* Unused parameter */ +#else SQLITE_EXTENSION_INIT2(pApi); +#endif (void)pzErrMsg; /* Unused parameter */ rc = sqlite3_create_window_function(db, "percentile", 2, SQLITE_UTF8|SQLITE_INNOCUOUS, 0, diff --git a/main.mk b/main.mk index 1f32c22bdf..b379d2f8f8 100644 --- a/main.mk +++ b/main.mk @@ -541,6 +541,7 @@ FUZZSRC += $(TOP)/test/vt02.c FUZZSRC += $(TOP)/test/fuzzinvariants.c FUZZSRC += $(TOP)/ext/recover/dbdata.c FUZZSRC += $(TOP)/ext/recover/sqlite3recover.c +FUZZSRC += $(TOP)/ext/misc/percentile.c FUZZSRC += $(TOP)/ext/misc/randomjson.c DBFUZZ_OPT = KV_OPT = -DSQLITE_THREADSAFE=0 -DSQLITE_DIRECT_OVERFLOW_READ diff --git a/manifest b/manifest index 398182b5d1..1eec821886 100644 --- a/manifest +++ b/manifest @@ -1,11 +1,11 @@ -C Omit\sthe\spercentile_cont()\sfunction\sadded\sby\s[095c22e62248f8ef]\s(and\snot\syet\nreleased)\ssince\sits\susage\sconflicts\swith\sthe\sPG\spercentile_cont()\sfunction. -D 2024-08-31T18:35:10.951 +C Include\spercentile()\sand\smerge()\sin\sthe\sfuzzcheck\stest\sutility. +D 2024-08-31T19:24:17.689 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 -F Makefile.in 394e8c4b17d7a25b26a379573cb74bac569e6e4e9b5f1e2cf6efd53866867054 +F Makefile.in af5fbc3453b745daa68c7aa5dfdb945c09cb724971db3b783d6b5e1a62279e28 F Makefile.linux-gcc f3842a0b1efbfbb74ac0ef60e56b301836d05b4d867d014f714fa750048f1ab6 -F Makefile.msc 8dc55cc46fabd6a01afca3a5829c4cb69b99537e42143ca6f0bf6e811b9f5068 +F Makefile.msc 2c905f4c795a628d7fd892294e8fdec6d5f719fa5b252cb839fed147e64435a0 F README.md 5b678e264236788390d11991f2c0052bd73f19790173883fc56d638bcb849154 F VERSION 0db40f92c04378404eb45bff93e9e42c148c7e54fd3da99469ed21e22411f5a6 F aclocal.m4 a5c22d164aff7ed549d53a90fa56d56955281f50 @@ -410,7 +410,7 @@ F ext/misc/nextchar.c 7877914c2a80c2f181dd04c3dbef550dfb54c93495dc03da2403b5dd58 F ext/misc/noop.c f1a21cc9b7a4e667e5c8458d80ba680b8bd4315a003f256006046879f679c5a0 F ext/misc/normalize.c bd84355c118e297522aba74de34a4fd286fc775524e0499b14473918d09ea61f F ext/misc/pcachetrace.c f4227ce03fb16aa8d6f321b72dd051097419d7a028a9853af048bee7645cb405 -F ext/misc/percentile.c c2f03cfc67a64508817fb7daf1c978ca328b0cde9105a9d7369d89061b13b3ba +F ext/misc/percentile.c ea1ff3561374c520193d5c3b3c86a40d922a9f0c2b48ae784d6cd9490093bd9d F ext/misc/prefixes.c 82645f79229877afab08c8b08ca1e7fa31921280906b90a61c294e4f540cd2a6 F ext/misc/qpvtab.c fc189e127f68f791af90a487f4460ec91539a716daf45a0c357e963fd47cc06c F ext/misc/randomjson.c ef835fc64289e76ac4873b85fe12f9463a036168d7683cf2b773e36e6262c4ed @@ -685,7 +685,7 @@ F ext/wasm/wasmfs.make 8a4955882aaa0783b3f60a9484a1f0f3d8b6f775c0fcd17c082f31966 F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895 x F ltmain.sh 3ff0879076df340d2e23ae905484d8c15d5fdea8 F magic.txt 5ade0bc977aa135e79e3faaea894d5671b26107cc91e70783aa7dc83f22f3ba0 -F main.mk de83918046afeb0ac4239e88511623f3ef2a0c41aab0e2b401e0275f4fd24a8e +F main.mk 5a2e7d4a852c058373efc78407816de41595d06975148c766092b3cf0fea4298 F mptest/config01.test 3c6adcbc50b991866855f1977ff172eb6d901271 F mptest/config02.test 4415dfe36c48785f751e16e32c20b077c28ae504 F mptest/crash01.test 61e61469e257df0850df4293d7d4d6c2af301421 @@ -1266,7 +1266,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 6e87c27df3d95c556870187987dff6efdc712b5cea60abedc8ab9215f471907a +F test/fuzzcheck.c 20be6c96bd0da2e91d25f089a037c1b3f8142211c97104f20629bf15610019e6 F test/fuzzdata1.db 3e86d9cf5aea68ddb8e27c02d7dfdaa226347426c7eb814918e4d95475bf8517 F test/fuzzdata2.db 128b3feeb78918d075c9b14b48610145a0dd4c8d6f1ca7c2870c7e425f5bf31f F test/fuzzdata3.db c6586d3e3cef0fbc18108f9bb649aa77bfc38aba @@ -2211,8 +2211,8 @@ F vsixtest/vsixtest.tcl 6195aba1f12a5e10efc2b8c0009532167be5e301abe5b31385638080 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P 94cf96af8fee55449080655bddf81cbf5c078a02d7bb5dd7e4903b36f83a8c07 -R 13ad1198c1167f377793e03ac3caed1a +P 3fe0a852978f3f1218e37a58f0d3b54016d4116a3301aa32efa7c4c12c767755 +R fe4924b06f0c2e628905b36a4804a9df U drh -Z bc23090135f77ee58ac855dbcaf87c06 +Z f104fe8dff33191117d210e31173232d # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index 8bf299d945..a1cdbd5ba6 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -3fe0a852978f3f1218e37a58f0d3b54016d4116a3301aa32efa7c4c12c767755 +d1d0942a947803d45a1fd9068f3518cf412178b6b9bafcb82db44c52d5820c11 diff --git a/test/fuzzcheck.c b/test/fuzzcheck.c index eaeb54d872..ea0d949b5b 100644 --- a/test/fuzzcheck.c +++ b/test/fuzzcheck.c @@ -159,10 +159,11 @@ static struct GlobalVars { } g; /* -** Include the external vt02.c and randomjson.c modules. +** Include various extensions. */ extern int sqlite3_vt02_init(sqlite3*,char**,const sqlite3_api_routines*); extern int sqlite3_randomjson_init(sqlite3*,char**,const sqlite3_api_routines*); +extern int sqlite3_percentile_init(sqlite3*,char**,const sqlite3_api_routines*); /* @@ -1329,7 +1330,8 @@ int runCombinedDbSqlInput( /* Add the vt02 virtual table */ sqlite3_vt02_init(cx.db, 0, 0); - /* Add the random_json() and random_json5() functions */ + /* Activate extensions */ + sqlite3_percentile_init(cx.db, 0, 0); sqlite3_randomjson_init(cx.db, 0, 0); /* Add support for sqlite_dbdata and sqlite_dbptr virtual tables used