]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Add a NEVER() to an unreachable branch in the new indexed-subtype logic.
authordrh <>
Mon, 7 Oct 2024 21:04:57 +0000 (21:04 +0000)
committerdrh <>
Mon, 7 Oct 2024 21:04:57 +0000 (21:04 +0000)
Mark the pi() function as deterministic.

FossilOrigin-Name: 50be8f5091b2202b67a80f826feee2c378f001745ad5acb7c4374423bbf6ff22

manifest
manifest.uuid
src/expr.c
src/func.c

index 984b147ed31445f9932a17b2489037dc7b6565c2..90933ecb1306834b637904db2b371117ad5777d3 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C The\s(undocumented)\ssubtype()\sSQL\sfunction\sshould\shave\sthe\sSQLITE_SUBTYPE\sflag.
-D 2024-10-07T18:06:17.888
+C Add\sa\sNEVER()\sto\san\sunreachable\sbranch\sin\sthe\snew\sindexed-subtype\slogic.\nMark\sthe\spi()\sfunction\sas\sdeterministic.
+D 2024-10-07T21:04:57.392
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -719,10 +719,10 @@ F src/date.c 89ce1ff20512a7fa5070ba6e7dd5c171148ca7d580955795bf97c79c2456144a
 F src/dbpage.c db1be8adaf1f839ad733c08baeac5c22aa912f7b535865c0c061382602081360
 F src/dbstat.c 73362c0df0f40ad5523a6f5501224959d0976757b511299bf892313e79d14f5c
 F src/delete.c 03a77ba20e54f0f42ebd8eddf15411ed6bdb06a2c472ac4b6b336521bf7cea42
-F src/expr.c 0aafe1b0d3893e9f568f30efa2e7b96a6e6bcc072e481ae68c5abe3f01d81367
+F src/expr.c 6800ecb6c48d9ab0b73e5b25dd1f6176fe4ffae89de2edfb9604e290ae5c7be4
 F src/fault.c 460f3e55994363812d9d60844b2a6de88826e007
 F src/fkey.c 928ed2517e8732113d2b9821aa37af639688d752f4ea9ac6e0e393d713eeb76f
-F src/func.c 281b373af97eba0a014aed754da952001fbf2899af362a268cdf59061eb749ad
+F src/func.c 1d093b93b8f097665721e59a1c404d7db4dc591e1a777a7a1022dfbda21e108b
 F src/global.c a19e4b1ca1335f560e9560e590fc13081e21f670643367f99cb9e8f9dc7d615b
 F src/hash.c 9ee4269fb1d6632a6fecfb9479c93a1f29271bddbbaf215dd60420bcb80c7220
 F src/hash.h 3340ab6e1d13e725571d7cee6d3e3135f0779a7d8e76a9ce0a85971fa3953c51
@@ -2216,8 +2216,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 2fe2f374584b025676684ebe4ef29304883a3b0b125b62abc1dbf74815eecdfb
-R a94f143c3aa0e261df71b070177a6103
+P c361dd91841da64fdd009e6eab389ccd81266a24d1070e5313fe1d22e6cef65a
+R 4fa3cedbad7dc576720ba11e0ac36827
 U drh
-Z daf7125707a76e5c147ce1091b351dd3
+Z ff784421601a4233097df0f7c86caf61
 # Remove this line to create a well-formed Fossil manifest.
index 04a972056993626a561af472d1c5b0e401b2126a..dcd3d5cf34f320476eadf7d36336c20024cc029a 100644 (file)
@@ -1 +1 @@
-c361dd91841da64fdd009e6eab389ccd81266a24d1070e5313fe1d22e6cef65a
+50be8f5091b2202b67a80f826feee2c378f001745ad5acb7c4374423bbf6ff22
index 506b92c82873f618f1d180ef7ec9515a291a9bb3..4404f30c165a995e1fa5ab4e5dd432c1a238b9d7 100644 (file)
@@ -4582,7 +4582,7 @@ static int exprNodeCanReturnSubtype(Walker *pWalker, Expr *pExpr){
   db = pWalker->pParse->db;
   n = pExpr->x.pList ? pExpr->x.pList->nExpr : 0;
   pDef = sqlite3FindFunction(db, pExpr->u.zToken, n, ENC(db), 0);
-  if( pDef==0 || (pDef->funcFlags & SQLITE_RESULT_SUBTYPE)!=0 ){
+  if( NEVER(pDef==0) || (pDef->funcFlags & SQLITE_RESULT_SUBTYPE)!=0 ){
     pWalker->eCode = 1;
     return WRC_Prune;
   }
index 845d88b083d83be10f9608f6758b5fb76a297943..2de16b8aa9fdb2e616f9f4a829ab6aaf8b26527b 100644 (file)
@@ -2813,7 +2813,7 @@ void sqlite3RegisterBuiltinFunctions(void){
     MFUNCTION(sqrt,              1, sqrt,      math1Func   ),
     MFUNCTION(radians,           1, degToRad,  math1Func   ),
     MFUNCTION(degrees,           1, radToDeg,  math1Func   ),
-    FUNCTION(pi,                 0, 0, 0,      piFunc      ),
+    MFUNCTION(pi,                0, 0,         piFunc      ),
 #endif /* SQLITE_ENABLE_MATH_FUNCTIONS */
     FUNCTION(sign,               1, 0, 0,      signFunc    ),
     INLINE_FUNC(coalesce,       -1, INLINEFUNC_coalesce, 0 ),