diff options
author | dan <dan@noemail.net> | 2016-12-01 19:38:05 +0000 |
---|---|---|
committer | dan <dan@noemail.net> | 2016-12-01 19:38:05 +0000 |
commit | 92ddb3bd021fe08b9f157224ba08fde7bb0b775b (patch) | |
tree | fbd74429bfe35471521bb5dfddb7f991c0250cf4 /src | |
parent | c9c81dc6d78aa9aec5625e0419817f245ab8ab4f (diff) | |
download | sqlite-92ddb3bd021fe08b9f157224ba08fde7bb0b775b.tar.gz sqlite-92ddb3bd021fe08b9f157224ba08fde7bb0b775b.zip |
Avoid clearing the EP_FromJoin flag from terms in ON clauses when flattening
sub-selects. Possible fix for [2df0107b].
FossilOrigin-Name: 8bed4cd549759a93c4a087d8d8c08c0068ba8d59
Diffstat (limited to 'src')
-rw-r--r-- | src/select.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/select.c b/src/select.c index 8e6022c9c..e0b8fccc5 100644 --- a/src/select.c +++ b/src/select.c @@ -3164,6 +3164,10 @@ static Expr *substExpr( assert( pEList!=0 && pExpr->iColumn<pEList->nExpr ); assert( pExpr->pLeft==0 && pExpr->pRight==0 ); pNew = sqlite3ExprDup(db, pEList->a[pExpr->iColumn].pExpr, 0); + if( pNew && (pExpr->flags & EP_FromJoin) ){ + pNew->iRightJoinTable = pExpr->iRightJoinTable; + pNew->flags |= EP_FromJoin; + } sqlite3ExprDelete(db, pExpr); pExpr = pNew; } |