]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Do not attempt the exists-to-join optimization if the FROM clause is full.
authordrh <>
Thu, 20 Jun 2024 12:07:25 +0000 (12:07 +0000)
committerdrh <>
Thu, 20 Jun 2024 12:07:25 +0000 (12:07 +0000)
FossilOrigin-Name: 8e3a1d2850337a902ab36b1d6a0dad4ae35030b71d1e15547f6e7487c1f86d18

manifest
manifest.uuid
src/select.c

index 5d3e1df5e2fc667c7f7ce7753120a3d5f77f1794..e374d68b4b30886df6b3c5438cdd0f7dc41c0c9b 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Add\stests\sfor\sthe\schange\son\sthis\sbranch.
-D 2024-06-14T18:06:25.102
+C Do\snot\sattempt\sthe\sexists-to-join\soptimization\sif\sthe\sFROM\sclause\sis\sfull.
+D 2024-06-20T12:07:25.967
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -755,7 +755,7 @@ F src/printf.c 8b250972305e14b365561be5117ed0fd364e4fd58968776df1ce64c6280b90f9
 F src/random.c 606b00941a1d7dd09c381d3279a058d771f406c5213c9932bbd93d5587be4b9c
 F src/resolve.c 9c7786f032dea81487e7d94cb17849936f0e9b8891bfc91a6ac24ab193762804
 F src/rowset.c 8432130e6c344b3401a8874c3cb49fefe6873fec593294de077afea2dce5ec97
-F src/select.c 757ea788e20f608d09bfef209d17bba87104cab920f80de77c92b38588ef64c5
+F src/select.c 72883bd7dda5e67cdf097776ae5d83aab02fbad9c4fa3ae1e25516efb1401fd4
 F src/shell.c.in ad27d1d990e9e5fb7ae8fc38a717e91f55233714f59723e5618baf4a2a3d2b65
 F src/sqlite.h.in cbd3e4177791a61c056fd81e37a5b21bb6c8cb2ea8cac558c625974673f50acf
 F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
@@ -2198,8 +2198,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 4666433cbd9af21c2e0440b10bcb39878624a39485e2bb514553b276acb8a401
-R a04eb111a75540deb83a6459885c7580
-U dan
-Z 384cdb2f34ec5a8891b2a14db482f8c6
+P ae19ff9ba819439fd107e745b6e8e503e5b68bfdb9da58b74035413704ad3caf
+R 2e2a21654277825e58e413fb627048c9
+U drh
+Z 5d427b052ed84b4ca59ddb925bd74f93
 # Remove this line to create a well-formed Fossil manifest.
index 49d1e69efe314202b09d47ffdaec9befc4e39bb8..3ef5d46fbc42654ce506a9171ad142dd77f76244 100644 (file)
@@ -1 +1 @@
-ae19ff9ba819439fd107e745b6e8e503e5b68bfdb9da58b74035413704ad3caf
\ No newline at end of file
+8e3a1d2850337a902ab36b1d6a0dad4ae35030b71d1e15547f6e7487c1f86d18
index 7a789196b69210a91b39363603abb4dc2bd7104c..832b711b8b2eff3ef2bac81e302ed58c858fde99 100644 (file)
@@ -7384,7 +7384,8 @@ static u64 findConstIdxTerms(
 static void existsToJoin(Parse *pParse, Select *p, Expr *pWhere){
   if( pWhere 
    && !ExprHasProperty(pWhere, EP_OuterON|EP_InnerON) 
-   && p->pSrc->nSrc>0 
+   && p->pSrc->nSrc>0
+   && p->pSrc->nSrc<BMS
    && pParse->db->mallocFailed==0 
   ){
     if( pWhere->op==TK_AND ){