aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2019-12-22 20:03:29 +0000
committerdrh <drh@noemail.net>2019-12-22 20:03:29 +0000
commit6e827fa27de5aa52bff6067e8051f01c019e5d27 (patch)
tree1e0ab6cc5d3578f497dc907a601e5467ade71056 /src
parentd262c2db8f6ac584d377b347a0dd810f998cbd93 (diff)
downloadsqlite-6e827fa27de5aa52bff6067e8051f01c019e5d27.tar.gz
sqlite-6e827fa27de5aa52bff6067e8051f01c019e5d27.zip
When constructing the virtual MATCH term of the WHERE clause for a virtual
table that is in a LEFT JOIN, be sure to set the correct Expr.iRightJoinTable value. This value does not appear to ever be used, except inside of a single assert(). But it is good to set it correctly, nevertheless. This fixes ticket [7929c1efb2d67e98], which as far as I can tell is completely harmless. FossilOrigin-Name: ef604882a275d3d5ebd4d5a08e3fe43e148f169b7d5c3a81464fbe7f54f3582a
Diffstat (limited to 'src')
-rw-r--r--src/whereexpr.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/whereexpr.c b/src/whereexpr.c
index a3d5e94f0..d16f89a7b 100644
--- a/src/whereexpr.c
+++ b/src/whereexpr.c
@@ -1298,6 +1298,7 @@ static void exprAnalyze(
0, sqlite3ExprDup(db, pRight, 0));
if( ExprHasProperty(pExpr, EP_FromJoin) && pNewExpr ){
ExprSetProperty(pNewExpr, EP_FromJoin);
+ pNewExpr->iRightJoinTable = pExpr->iRightJoinTable;
}
idxNew = whereClauseInsert(pWC, pNewExpr, TERM_VIRTUAL|TERM_DYNAMIC);
testcase( idxNew==0 );