]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
The attempt to bring STAT4 up to 100% MC/DC at [55a26c67ed4a3a93] and
authordrh <>
Thu, 23 Mar 2023 10:58:19 +0000 (10:58 +0000)
committerdrh <>
Thu, 23 Mar 2023 10:58:19 +0000 (10:58 +0000)
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

manifest
manifest.uuid
src/vdbemem.c
test/analyzeE.test

index 03a098cb5dce52bf5ff35d4721dfd71a9a9408be..988e8226aac6dee8e7f6ee59c9a03be484f9a183 100644 (file)
--- 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.
index b534e4981d76384c9e894c8b97c3d81553fd6ac4..fc3bebd9fd7818be9964d8231d29c57adc6b3d59 100644 (file)
@@ -1 +1 @@
-0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da
\ No newline at end of file
+76e683c5f25fe0471215e833a6f4f6e50890bbdd1ca639035754e9a2831dd406
\ No newline at end of file
index be52062d5511a3b95f481ba131a8628195f7ad72..02588707debc8243c73b329df1aaffc45a857cbd 100644 (file)
@@ -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:
index 733b79367fd1c8eeee03e763b61036ded07594b7..9f65b7a320d594025994fb2f06478904ee84d9d2 100644 (file)
@@ -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