From: drh <> Date: Tue, 19 Mar 2024 14:38:39 +0000 (+0000) Subject: Fix the fuzzinvariants.c test module so that it does not generate X-Git-Tag: version-3.46.0~116^2~8 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=967c3032124b1365c65946371809660404376169;p=thirdparty%2Fsqlite.git Fix the fuzzinvariants.c test module so that it does not generate invariants that depend on rowid when SQLITE_ALLOW_ROWID_IN_VIEW is used, since rowid values can be unreliable in that context. FossilOrigin-Name: 0d711aaaa14472a82f8893e1b07d845073f3d018bd5b8093ec0b00ffbbc8cd5a --- diff --git a/manifest b/manifest index e338d56c6e..1bd5d0bc66 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Improvements\sto\sthe\sfirst\scheck-in\son\sthis\sbranch,\scausing\sless\scollateral\ndamage. -D 2024-03-19T14:21:26.201 +C Fix\sthe\sfuzzinvariants.c\stest\smodule\sso\sthat\sit\sdoes\snot\sgenerate\ninvariants\sthat\sdepend\son\srowid\swhen\sSQLITE_ALLOW_ROWID_IN_VIEW\sis\sused,\nsince\srowid\svalues\scan\sbe\sunreliable\sin\sthat\scontext. +D 2024-03-19T14:38:39.687 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -1257,7 +1257,7 @@ F test/fuzzdata8.db 4a53b6d077c6a5c23b609d8d3ac66996fa55ba3f8d02f9b6efdd0214a767 F test/fuzzer1.test 3d4c4b7e547aba5e5511a2991e3e3d07166cfbb8 F test/fuzzer2.test a85ef814ce071293bce1ad8dffa217cbbaad4c14 F test/fuzzerfault.test f64c4aef4c9e9edf1d6dc0d3f1e65dcc81e67c996403c88d14f09b74807a42bc -F test/fuzzinvariants.c b34530e8431f2cf3591eff588fc7684d6fdef466916fb46141c8c5374a3d8099 +F test/fuzzinvariants.c 4355043e98cd8555c62462fcbba91c17c6492b0b017bbbe68656d5f2208f6444 F test/gcfault.test 4ea410ac161e685f17b19e1f606f58514a2850e806c65b846d05f60d436c5b0d F test/gencol1.test e169bdfa11c7ed5e9f322a98a7db3afe9e66235750b68c923efee8e1876b46ec F test/genesis.tcl 1e2e2e8e5cc4058549a154ff1892fe5c9de19f98 @@ -2180,8 +2180,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P b8e045c9e1d098d116f8745704b10ed76569d4b063c0b81cce16bc136930755d -R 9d63476358fa70a434b2b00bc72db1e7 +P 7bc882897b6910f93695ad372445df7791b096412089ccbcd4fde365c62fa074 +R 1d0ab0a71fdecadee0025e4c9e79a52a U drh -Z f699d32733c11fd3a8c679549f29c036 +Z ef38e4f5190d6a950df6cf2eac0e14a7 # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index add372b711..6d341e4ed1 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -7bc882897b6910f93695ad372445df7791b096412089ccbcd4fde365c62fa074 \ No newline at end of file +0d711aaaa14472a82f8893e1b07d845073f3d018bd5b8093ec0b00ffbbc8cd5a \ No newline at end of file diff --git a/test/fuzzinvariants.c b/test/fuzzinvariants.c index 5d473f19f3..00b2c11742 100644 --- a/test/fuzzinvariants.c +++ b/test/fuzzinvariants.c @@ -296,6 +296,14 @@ static char *fuzz_invariant_sql(sqlite3_stmt *pStmt, int iCnt){ ** WHERE clause. */ continue; } +#ifdef SQLITE_ALLOW_ROWID_IN_VIEW + if( sqlite3_strlike("%rowid%",zColName,0)==0 + || sqlite3_strlike("%oid%",zColName,0)==0 + ){ + /* ROWID values are unreliable if SQLITE_ALLOW_ROWID_IN_VIEW is used */ + continue; + } +#endif for(j=0; j