From: drh <> Date: Thu, 23 Mar 2023 10:58:19 +0000 (+0000) Subject: The attempt to bring STAT4 up to 100% MC/DC at [55a26c67ed4a3a93] and X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e05bb84ac7c4f666460fb6fdac37078070d789bc;p=thirdparty%2Fsqlite.git The attempt to bring STAT4 up to 100% MC/DC at [55a26c67ed4a3a93] and at [168fa2fb22b8c1ad] are incorrect. Back them out and replace them with a simple NEVER() macro. Error reported by [forum:/forumpost/dc4854437b|forum post dc4854437b]. FossilOrigin-Name: 76e683c5f25fe0471215e833a6f4f6e50890bbdd1ca639035754e9a2831dd406 --- diff --git a/manifest b/manifest index 03a098cb5d..988e8226aa 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Version\s3.41.2 -D 2023-03-22T11:56:21.623 +C The\sattempt\sto\sbring\sSTAT4\sup\sto\s100%\sMC/DC\sat\s[55a26c67ed4a3a93]\sand\nat\s[168fa2fb22b8c1ad]\sare\sincorrect.\s\sBack\sthem\sout\sand\sreplace\sthem\swith\na\ssimple\sNEVER()\smacro.\s\sError\sreported\sby\n[forum:/forumpost/dc4854437b|forum\spost\sdc4854437b]. +D 2023-03-23T10:58:19.719 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -697,7 +697,7 @@ F src/vdbeInt.h a4147a4ddf613cb1bcb555ace9e9e74a9c099d65facd88155f191b1fb4d74cfb F src/vdbeapi.c 40c47b1528d308a322203de21d2e0d711753257ed9771771b6129214b1d65932 F src/vdbeaux.c 3f9e3b6585e7434aa11300169dd66ddf0fc963a0c6f7940bdc058335dadeb353 F src/vdbeblob.c 5e61ce31aca17db8fb60395407457a8c1c7fb471dde405e0cd675974611dcfcd -F src/vdbemem.c 0388576b7cf0be13ce14b9e3b8aa90b8a1b923b60321d0242131ae0b5732b43b +F src/vdbemem.c 656a51f3e99d7123ef852413c0249101718f3f3138e66be37ba2f16dcf7ce43e F src/vdbesort.c 43756031ca7430f7aec3ef904824a7883c4ede783e51f280d99b9b65c0796e35 F src/vdbetrace.c fe0bc29ebd4e02c8bc5c1945f1d2e6be5927ec12c06d89b03ef2a4def34bf823 F src/vdbevtab.c aae4bd769410eb7e1d02c42613eec961d514459b1c3c1c63cfc84e92a137daac @@ -749,7 +749,7 @@ F test/analyze8.test 29ef237d8a59b39cc31c3310134fefe96a690b195e3deed5ecb65283908 F test/analyze9.test 30e1cb99336045a384a11d97900720184333c88174b3b89bc07444ea39e7df19 F test/analyzeC.test 1111830ad355d29a294a5dda654dd5f6a8622c6a223a4f7b7b3d091df7a7a42b F test/analyzeD.test 485f621cfd2ef0a8f8ac79672586651bfa495bd899db50461bb4b558400ab3c1 -F test/analyzeE.test 69d130f9ba78c9853dcd5a18317e81f462a72d704cec0c4c30afb220213acd29 +F test/analyzeE.test 3e35783c15180c475bf0e1d69089ea8cb17f4af44fbca0938ccd476af8ac6aa8 F test/analyzeF.test 40b5cc3ad7b10e81020d7ca86f1417647ecfae7477cfd88acc5aa7ae1068f949 F test/analyzeG.test 623be33038c49648872746c8dd8b23b5792c08fef173c55e82f1b12fca259852 F test/analyzer1.test 459fa02c445ddbf0101a3bad47b34290a35f2e49 @@ -2045,10 +2045,9 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P 2bb74aa501b7245f4e4d789630fe8c5265c7644ce223404fe7360d5a1fe8cd76 -R 0365b6bb63f816f9874eaae0438c7a22 -T +sym-release * -T +sym-version-3.41.2 * +P 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da +Q +5992370a89f8de7a6e941130b381f85d369856dbdb7860405e6fb17dad2293df +R 246f4621177c2e9ede0376118e028ef4 U drh -Z e44ecdc2c529af7984c41c11e476f7a6 +Z fe424e1208aa1f88618214c67f12f3d9 # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index b534e4981d..fc3bebd9fd 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da \ No newline at end of file +76e683c5f25fe0471215e833a6f4f6e50890bbdd1ca639035754e9a2831dd406 \ No newline at end of file diff --git a/src/vdbemem.c b/src/vdbemem.c index be52062d55..02588707de 100644 --- a/src/vdbemem.c +++ b/src/vdbemem.c @@ -1519,16 +1519,11 @@ static int valueFromFunction( }else{ sqlite3ValueApplyAffinity(pVal, aff, SQLITE_UTF8); assert( rc==SQLITE_OK ); - assert( enc==pVal->enc - || (pVal->flags & MEM_Str)==0 - || db->mallocFailed ); -#if 0 /* Not reachable except after a prior failure */ rc = sqlite3VdbeChangeEncoding(pVal, enc); - if( rc==SQLITE_OK && sqlite3VdbeMemTooBig(pVal) ){ + if( NEVER(rc==SQLITE_OK && sqlite3VdbeMemTooBig(pVal)) ){ rc = SQLITE_TOOBIG; pCtx->pParse->nErr++; } -#endif } value_from_function_out: diff --git a/test/analyzeE.test b/test/analyzeE.test index 733b79367f..9f65b7a320 100644 --- a/test/analyzeE.test +++ b/test/analyzeE.test @@ -239,4 +239,16 @@ do_execsql_test analyzeE-4.11 { SELECT * FROM t1 WHERE a<1900 AND c=123 } {/SCAN t1/} +# 2023-03-23 https://sqlite.org/forum/forumpost/dc4854437b +# +reset_db +do_execsql_test analyzeE-5.0 { + PRAGMA encoding = 'UTF-16'; + CREATE TABLE t0 (c1 TEXT); + INSERT INTO t0 VALUES (''); + CREATE INDEX i0 ON t0(c1); + ANALYZE; + SELECT * FROM t0 WHERE t0.c1 BETWEEN '' AND (ABS('')); +} {{}} + finish_test