diff options
author | dan <dan@noemail.net> | 2016-12-01 19:58:01 +0000 |
---|---|---|
committer | dan <dan@noemail.net> | 2016-12-01 19:58:01 +0000 |
commit | edaeba5e64a86a1c53ec73875249f39f4ceb3ff5 (patch) | |
tree | 6f4089b180ea2d3ad92443da675d74e678d581f8 /src | |
parent | 807b90f6798f8e4db0b721b48dc103c4bb8157cf (diff) | |
parent | 92ddb3bd021fe08b9f157224ba08fde7bb0b775b (diff) | |
download | sqlite-edaeba5e64a86a1c53ec73875249f39f4ceb3ff5.tar.gz sqlite-edaeba5e64a86a1c53ec73875249f39f4ceb3ff5.zip |
Avoid clearing the EP_FromJoin flag from terms in ON clauses when flattening
sub-selects. Possible fix for [2df0107b].
FossilOrigin-Name: a427c4052820d90c3c8c23abf9097f973e564010
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; } |