From: drh <> Date: Thu, 14 Apr 2022 14:58:50 +0000 (+0000) Subject: Disable autoindexing for the RIGHT JOIN loop. X-Git-Tag: version-3.39.0~206^2~57 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d345dcf39a4bdb0d2550e165b671c18676ba9ea1;p=thirdparty%2Fsqlite.git Disable autoindexing for the RIGHT JOIN loop. FossilOrigin-Name: 402a89e33e39b00352dc9fb3301d03c6f75d8bb5c2ad540cd22506bff10b4d85 --- diff --git a/manifest b/manifest index 53be0b2896..ac54b65451 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Adjust\sassert()\sstatements\sto\saccount\sfor\sthe\snew\salways-NULL\scursor\stype\nadded\sby\s[4526c5d316508093]. -D 2022-04-14T14:40:29.990 +C Disable\sautoindexing\sfor\sthe\sRIGHT\sJOIN\sloop. +D 2022-04-14T14:58:50.589 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -639,7 +639,7 @@ F src/vxworks.h d2988f4e5a61a4dfe82c6524dd3d6e4f2ce3cdb9 F src/wal.c b9df133a705093da8977da5eb202eaadb844839f1c7297c08d33471f5491843d F src/wal.h c3aa7825bfa2fe0d85bef2db94655f99870a285778baa36307c0a16da32b226a F src/walker.c f890a3298418d7cba3b69b8803594fdc484ea241206a8dfa99db6dd36f8cbb3b -F src/where.c 793d09ef0d824efb953cdaff59102dcdd5390f8c59d1d5119ddfd26dcf5cd957 +F src/where.c 0db7dcbdacb3568f6b45aa419c37eaf0e25538bba15140acee74caee8b2e77fd F src/whereInt.h ea1e4b6639c4c32246f4c54b733143df76109894adf08bedee4f3999ece62c2d F src/wherecode.c 34e4c445371b0ac19d234c5b454fa04d650417f10a702331ca590dc870254c41 F src/whereexpr.c 174d4ad5be165c610c907abb779ef4a97974d22b84e1ce7898d2d9f6947249e5 @@ -1947,9 +1947,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 63b04c63de680261a0d3eaf27154a1e8e77e3e166c3f2dbaea985603991c74f7 5ec4f806c569428851b6f0159451aa3ed66b3bc61a845fd7c543cffb694b882d -R cf81eb9addb3ddebf19d1624814ed06a -T +closed 5ec4f806c569428851b6f0159451aa3ed66b3bc61a845fd7c543cffb694b882d +P 7822faa48a058c0b0313b9241d290153fbe74ab84f58369a70014118a9085d1d +R 236e005565a5c9ed4ac4494c6199358f U drh -Z 3009f9859b3841a2479bfb7b97dc45b2 +Z a9122a09b9d099ad3181af175e428792 # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index 7aa1e77e27..1f348c82af 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -7822faa48a058c0b0313b9241d290153fbe74ab84f58369a70014118a9085d1d \ No newline at end of file +402a89e33e39b00352dc9fb3301d03c6f75d8bb5c2ad540cd22506bff10b4d85 \ No newline at end of file diff --git a/src/where.c b/src/where.c index 1ce569d37b..dca78e11b9 100644 --- a/src/where.c +++ b/src/where.c @@ -3317,7 +3317,7 @@ static int whereLoopAddBtree( #ifndef SQLITE_OMIT_AUTOMATIC_INDEX /* Automatic indexes */ if( !pBuilder->pOrSet /* Not part of an OR optimization */ - && (pWInfo->wctrlFlags & WHERE_OR_SUBCLAUSE)==0 + && (pWInfo->wctrlFlags & (WHERE_RIGHT_JOIN|WHERE_OR_SUBCLAUSE))==0 && (pWInfo->pParse->db->flags & SQLITE_AutoIndex)!=0 && !pSrc->fg.isIndexedBy /* Has no INDEXED BY clause */ && !pSrc->fg.notIndexed /* Has no NOT INDEXED clause */