diff options
author | dan <Dan Kennedy> | 2023-09-25 11:12:39 +0000 |
---|---|---|
committer | dan <Dan Kennedy> | 2023-09-25 11:12:39 +0000 |
commit | 873849b81e159b53b9f40f8434c2951c4113ca71 (patch) | |
tree | 79df77615afe7c6b3a3da1e2b7d8cc2e55d2a888 /src | |
parent | af7cce98c5bc304e69ab332bf0f6aeafa7f2215d (diff) | |
download | sqlite-873849b81e159b53b9f40f8434c2951c4113ca71.tar.gz sqlite-873849b81e159b53b9f40f8434c2951c4113ca71.zip |
Fix a bad interaction between LEFT JOIN, bloom filters and partial indexes.
FossilOrigin-Name: 5775f92b31f0539c66d37e50689bec17a82c0e857a781331c03e34bc18157087
Diffstat (limited to 'src')
-rw-r--r-- | src/where.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/where.c b/src/where.c index 777e49854..2a0f07f27 100644 --- a/src/where.c +++ b/src/where.c @@ -1142,9 +1142,12 @@ static SQLITE_NOINLINE void sqlite3ConstructBloomFilter( WhereLoop *pLoop = pLevel->pWLoop; /* The loop being coded */ int iCur; /* Cursor for table getting the filter */ IndexedExpr *saved_pIdxEpr; /* saved copy of Parse.pIdxEpr */ + IndexedExpr *saved_pIdxPartExpr; /* saved copy of Parse.pIdxPartExpr */ saved_pIdxEpr = pParse->pIdxEpr; + saved_pIdxPartExpr = pParse->pIdxPartExpr; pParse->pIdxEpr = 0; + pParse->pIdxPartExpr = 0; assert( pLoop!=0 ); assert( v!=0 ); @@ -1239,6 +1242,7 @@ static SQLITE_NOINLINE void sqlite3ConstructBloomFilter( }while( iLevel < pWInfo->nLevel ); sqlite3VdbeJumpHere(v, addrOnce); pParse->pIdxEpr = saved_pIdxEpr; + pParse->pIdxPartExpr = saved_pIdxPartExpr; } |