aboutsummaryrefslogtreecommitdiff
path: root/src/whereexpr.c
diff options
context:
space:
mode:
authordrh <>2022-02-04 13:05:29 +0000
committerdrh <>2022-02-04 13:05:29 +0000
commit02e3e041343e6ac950771bb5ef813f1876f5036b (patch)
tree3cdfecba52004f51df6e964cf135252142ce9079 /src/whereexpr.c
parent7f1c11194825583ffee08ef1a57e6e0d0082c33b (diff)
downloadsqlite-02e3e041343e6ac950771bb5ef813f1876f5036b.tar.gz
sqlite-02e3e041343e6ac950771bb5ef813f1876f5036b.zip
For the MULTI-INDEX-OR optimization, when pushing down WHERE clause terms from
the main query into the various OR-term subqueries, do not push down slices of a vector comparison, since the right-hand operand of the comparison might have only been initialized in a different OR branch that was not taken. dbsqlfuzz 80a9fade844b4fb43564efc972bcb2c68270f5d1. FossilOrigin-Name: 9f67ad00cd38b7c5ec6d14b379e1a611777bbdf6901d843a80712ba7d94d6d33
Diffstat (limited to 'src/whereexpr.c')
-rw-r--r--src/whereexpr.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/whereexpr.c b/src/whereexpr.c
index e212bcb93..ac4f2e1fb 100644
--- a/src/whereexpr.c
+++ b/src/whereexpr.c
@@ -1399,7 +1399,7 @@ static void exprAnalyze(
pNew = sqlite3PExpr(pParse, pExpr->op, pLeft, pRight);
transferJoinMarkings(pNew, pExpr);
- idxNew = whereClauseInsert(pWC, pNew, TERM_DYNAMIC);
+ idxNew = whereClauseInsert(pWC, pNew, TERM_DYNAMIC|TERM_SLICE);
exprAnalyze(pSrc, pWC, idxNew);
}
pTerm = &pWC->a[idxTerm];