diff options
author | drh <drh@noemail.net> | 2019-12-22 20:03:29 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2019-12-22 20:03:29 +0000 |
commit | 6e827fa27de5aa52bff6067e8051f01c019e5d27 (patch) | |
tree | 1e0ab6cc5d3578f497dc907a601e5467ade71056 /src | |
parent | d262c2db8f6ac584d377b347a0dd810f998cbd93 (diff) | |
download | sqlite-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.c | 1 |
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 ); |