]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix a harmless "jump or move depends on uninitialised value" warning that could occur...
authordan <Dan Kennedy>
Fri, 26 Jun 2026 19:31:46 +0000 (19:31 +0000)
committerdan <Dan Kennedy>
Fri, 26 Jun 2026 19:31:46 +0000 (19:31 +0000)
FossilOrigin-Name: 716782abe939083b7732289d862ddfd841057d3458814f96e5e6d7826ec7fa5c

manifest
manifest.uuid
src/select.c
test/triggerE.test

index 0e4aba131778e084134b1779d831b102a6f7162c..15225a2777cd3ab51347a48fe1fe0c2c9ac1a708 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Enhance\sthe\sdocumentation\son\ssqlite3_set_authorizer()\sto\smake\sit\sclear\nthat\sthe\sauthorizer\scallback\sis\snot\sinvoked\sfor\selements\sof\san\sexpression\nin\sa\sgenerated\scolumn.\n[bugs:/info/2026-06-26T12:42:48Z|Bugs\s2026-06-26T12:42:48Z].
-D 2026-06-26T15:27:30.376
+C Fix\sa\sharmless\s"jump\sor\smove\sdepends\son\suninitialised\svalue"\swarning\sthat\scould\soccur\swhen\susing\sa\svirtual\stable\sas\sthe\sRHS\sof\san\souter\sjoin\swithin\sa\strigger.
+D 2026-06-26T19:31:46.902
 F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
@@ -738,7 +738,7 @@ F src/printf.c 69a89414b6368901b286a5579dea34cc3470a7d10f2b0fea93f7eb5d8f1e2e71
 F src/random.c 606b00941a1d7dd09c381d3279a058d771f406c5213c9932bbd93d5587be4b9c
 F src/resolve.c d0724113da9f5c0430d2052808ce59519f51ae7c4fbb1f5ef21fe3a832956086
 F src/rowset.c 8432130e6c344b3401a8874c3cb49fefe6873fec593294de077afea2dce5ec97
-F src/select.c 80ea6935f8470b97d1212bc1b759b7fadb28351797877f493d0cf598be1fef5e
+F src/select.c 7b7f0ba07a443d5882b3285bda4ed9d9fdbe43a1ed46302d9833ce9b310ed85c
 F src/shell.c.in a4e83895cfa336065ad7f7a7dea8fc2a19d050f7ce7466621c67208acaac9e44
 F src/sqlite.h.in d9ec41feb4cd804e68b174328b43beb3f1f71bba13e1c7a439efb826d301cccc
 F src/sqlite3.rc 015537e6ac1eec6c7050e17b616c2ffe6f70fca241835a84a4f0d5937383c479
@@ -1909,7 +1909,7 @@ F test/triggerA.test 837be862d8721f903dba3f3ceff05b32e0bee5214cf6ea3da5fadf12d36
 F test/triggerB.test 56780c031b454abac2340dbb3b71ac5c56c3d7fe
 F test/triggerC.test 1faacf5249a7abe8bdc44aafe170f2141a72cb2abcef300dc91e3d55c4158f41
 F test/triggerD.test 8e7f3921a92a5797d472732108109e44575fa650
-F test/triggerE.test 612969cb57a4ef792059ad6d01af0117e1ae862c283753ffcc9a6428642b22ee
+F test/triggerE.test 45cf42d88b6e0bf1458509e558d24da272967b69798877103f2140616967948b
 F test/triggerF.test 5d76f0a8c428ff87a4d5ed52da06f6096a2c787a1e21b846111dfac4123de3ad
 F test/triggerG.test b4e3fbccde6cf8995177cd6cad880256c8c00e407e07d8c67149f46106292a2c
 F test/triggerupfrom.test d1f9e56090408115c522bee626cc33a2f3370f627a5e341d832589d72e3aa271
@@ -2209,8 +2209,8 @@ F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee
 F tool/warnings.sh a554d13f6e5cf3760f041b87939e3d616ec6961859c3245e8ef701d1eafc2ca2
 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
 F tool/winmain.c 00c8fb88e365c9017db14c73d3c78af62194d9644feaf60e220ab0f411f3604c
-P cc36f1741308ea354d540d27c89b92d69a0481885ca3463bdaf0b9ab27464d78
-R 36257a1bc1b62387f6a53b622e10579c
-U drh
-Z d7d6d3fdcc16c76593fd1df10070f90e
+P 45213c1c398cad9d05eda5420ae7379e84fa37d30793f8b4d28c358b88d62931
+R a655c9561d5416e0ec2f34dd35824420
+U dan
+Z 968269c493f0b7238c18353af755695c
 # Remove this line to create a well-formed Fossil manifest.
index 990e614dc45df895a9e264b1d54277b0eed7a0e0..31061285aae34e99114822a78d701f0013324978 100644 (file)
@@ -1 +1 @@
-45213c1c398cad9d05eda5420ae7379e84fa37d30793f8b4d28c358b88d62931
+716782abe939083b7732289d862ddfd841057d3458814f96e5e6d7826ec7fa5c
index 4d181f121823032d32284569f9170909e18c9eee..03f4e2abbb07d6bb5bb2ba821f40c888cf051136 100644 (file)
@@ -660,7 +660,8 @@ static int sqlite3ProcessJoin(Parse *pParse, Select *p){
       p->selFlags |= SF_OnToWhere;
     }
 
-    if( IsVirtual(pRightTab) && joinType==EP_OuterON && pRight->u1.pFuncArg ){
+    if( pRight->fg.isTabFunc && joinType==EP_OuterON && pRight->u1.pFuncArg ){
+      assert( IsVirtual(pRightTab) );
       p->selFlags |= SF_OnToWhere;
     }
   }
index de4b068582ccee00b7b83a471196fb5201a1b813..22b6cc40297397ee0a1469396a7a26a7e0f45a44 100644 (file)
@@ -111,4 +111,24 @@ do_execsql_test 2.3 {
   SELECT * FROM t2;
 } {1 2 x y z z}
 
+#-------------------------------------------------------------------------
+# At one point this was causing a harmless "branch on unitialized value"
+# warning.
+ifcapable rtree {
+  db close
+  sqlite3_shutdown
+  sqlite3_config_lookaside 0 0
+  sqlite3_initialize
+  reset_db
+
+  do_execsql_test 3.0 {
+    CREATE TABLE t1(a);
+    CREATE VIRTUAL TABLE rr USING rtree(id, a, b);
+    CREATE TRIGGER r1 AFTER DELETE ON t1 BEGIN
+      SELECT a FROM t1 NATURAL LEFT JOIN rr;
+    END;
+    DELETE FROM t1;
+  }
+}
+
 finish_test