aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordrh <>2022-06-07 13:09:58 +0000
committerdrh <>2022-06-07 13:09:58 +0000
commit33b2cb9aecc9b6be1b4c88c187cd30c95fa6440d (patch)
tree03354c880c473f4a322d271cbfff9344558bc29d /src
parentbb1369037b0d9ddf2def8de80aeb3c9ad27bf3a8 (diff)
downloadsqlite-33b2cb9aecc9b6be1b4c88c187cd30c95fa6440d.tar.gz
sqlite-33b2cb9aecc9b6be1b4c88c187cd30c95fa6440d.zip
Fix the query flattener to deal with a RIGHT JOIN corner case described
by [forum:/forumpost/323f86cc30|forum post 323f86cc30]. FossilOrigin-Name: 3f45007d544e5f787d5837b4d9f484ba473d69cdba83c229228e9c2f6b972b75
Diffstat (limited to 'src')
-rw-r--r--src/select.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/select.c b/src/select.c
index 122313e70..86629d5c3 100644
--- a/src/select.c
+++ b/src/select.c
@@ -3763,9 +3763,10 @@ static Expr *substExpr(
Expr *pExpr /* Expr in which substitution occurs */
){
if( pExpr==0 ) return 0;
- if( ExprHasProperty(pExpr, EP_OuterON)
+ if( ExprHasProperty(pExpr, EP_OuterON|EP_InnerON)
&& pExpr->w.iJoin==pSubst->iTable
){
+ testcase( ExprHasProperty(pExpr, EP_InnerON) );
pExpr->w.iJoin = pSubst->iNewTable;
}
if( pExpr->op==TK_COLUMN