]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix a NEVER() in the iif() logic that can be true if compiled with
authordrh <>
Fri, 29 Nov 2024 11:49:05 +0000 (11:49 +0000)
committerdrh <>
Fri, 29 Nov 2024 11:49:05 +0000 (11:49 +0000)
SQLITE_ENABLE_UNKNOWN_SQL_FUNCTIONS.  Problem introduced by [eb5ac9e5b9a4f9c8].

FossilOrigin-Name: 3ec2df5a6c731b59b0ab132ee59c74d107f9c4bd32cf47d9776887858b9c0dea

manifest
manifest.uuid
src/expr.c

index 39e9e9043b5985fabec0b315c0cf816ebfc74d53..dcb89335c821bd15259096c7247d391b342b34ca 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Remove\ssome\soutdated\sdocs\sfrom\sMakefile.in.
-D 2024-11-28T23:55:35.415
+C Fix\sa\sNEVER()\sin\sthe\siif()\slogic\sthat\scan\sbe\strue\sif\scompiled\swith\nSQLITE_ENABLE_UNKNOWN_SQL_FUNCTIONS.\s\sProblem\sintroduced\sby\s[eb5ac9e5b9a4f9c8].
+D 2024-11-29T11:49:05.152
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md e108e1e69ae8e8a59e93c455654b8ac9356a11720d3345df2a4743e9590fb20d
@@ -726,7 +726,7 @@ F src/date.c 89ce1ff20512a7fa5070ba6e7dd5c171148ca7d580955795bf97c79c2456144a
 F src/dbpage.c db1be8adaf1f839ad733c08baeac5c22aa912f7b535865c0c061382602081360
 F src/dbstat.c 73362c0df0f40ad5523a6f5501224959d0976757b511299bf892313e79d14f5c
 F src/delete.c 03a77ba20e54f0f42ebd8eddf15411ed6bdb06a2c472ac4b6b336521bf7cea42
-F src/expr.c b838969c58a38dfedabec18c432204895c7333d7a509a20fa63c39bf92001f0e
+F src/expr.c 954fe794e30c5b692c7c32da2b6df6ee57259c0220da571fc79922c8d07ad41f
 F src/fault.c 460f3e55994363812d9d60844b2a6de88826e007
 F src/fkey.c 928ed2517e8732113d2b9821aa37af639688d752f4ea9ac6e0e393d713eeb76f
 F src/func.c 49489dcce46d2d491cedb451e974264150c473e5f5bba448498a9aa4c1993537
@@ -2201,8 +2201,8 @@ F tool/version-info.c 3b36468a90faf1bbd59c65fd0eb66522d9f941eedd364fabccd7227350
 F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7
 F tool/warnings.sh 49a486c5069de041aedcbde4de178293e0463ae9918ecad7539eedf0ec77a139
 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P 7f366565f41fa4eb532cfaf83074106e235436bfc377116e3bf823ac08fd01a5
-R d7c111a7470180e499663f2f26933967
-U stephan
-Z f66a560c68c0b33c3bb1d4fe2506daed
+P cc2c5fc98b2d1957bd26f41f0b646921ecabe2ffe544b3c3565965ba8850b2ff
+R e3074278b35f54a5f11f21d9d8c2e74e
+U drh
+Z 8d6d5519eaac914fe913f5864cf877bd
 # Remove this line to create a well-formed Fossil manifest.
index 7d063ea4873aafa3f4796faaa38e18fbdd920019..9a5fc8625e746d5ee67c924c25541da191210929 100644 (file)
@@ -1 +1 @@
-cc2c5fc98b2d1957bd26f41f0b646921ecabe2ffe544b3c3565965ba8850b2ff
+3ec2df5a6c731b59b0ab132ee59c74d107f9c4bd32cf47d9776887858b9c0dea
index d0282f71478035383b6942a6f4c103917e8bff20..afa9ba00f57f9d6982f995f931d8ce9794b1ade4 100644 (file)
@@ -6478,7 +6478,11 @@ static int sqlite3ExprIsIIF(sqlite3 *db, const Expr *pExpr){
     if( (z[0]!='i' && z[0]!='I') ) return 0;
     if( pExpr->x.pList==0 ) return 0;
     pDef = sqlite3FindFunction(db, z, pExpr->x.pList->nExpr, ENC(db), 0);
+#ifdef SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION
+    if( pDef==0 ) return 0;
+#else
     if( NEVER(pDef==0) ) return 0;
+#endif
     if( (pDef->funcFlags & SQLITE_FUNC_INLINE)==0 ) return 0;
     if( NEVER(SQLITE_PTR_TO_INT(pDef->pUserData)!=INLINEFUNC_iif) ) return 0;
   }else if( pExpr->op==TK_CASE ){