diff options
author | drh <> | 2022-09-20 16:57:49 +0000 |
---|---|---|
committer | drh <> | 2022-09-20 16:57:49 +0000 |
commit | 40c9becc812947508c453d44b9ed1846db228eff (patch) | |
tree | 7fc4396ae1642c6e25d3a1bc933e781b401054d9 /src/expr.c | |
parent | b22b493338b65044b5d8eb4f161cc551eb6156b0 (diff) | |
download | sqlite-40c9becc812947508c453d44b9ed1846db228eff.tar.gz sqlite-40c9becc812947508c453d44b9ed1846db228eff.zip |
Is the query flattener restriction 29 (do not allow both EP_InnerON and
EP_OuterON constraints on the same FROM clause term) really necessary? This
branch explores what happens if we omit that restriction. This is an effort
to address the performance regression reported by
[forum:/forumpost/96b9e5709cf47cda|forum post 96b9e5709cf47cda] that is caused
by flattener restriction 29.
FossilOrigin-Name: 19270577ad1d08c9e6e5f0600396b8a1ccda9df1e67a0df845aee6b60437f379
Diffstat (limited to 'src/expr.c')
-rw-r--r-- | src/expr.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/expr.c b/src/expr.c index 857251292..064e78fde 100644 --- a/src/expr.c +++ b/src/expr.c @@ -3223,6 +3223,7 @@ void sqlite3CodeRhsOfIN( sqlite3VdbeChangeP4(v, addr, (void *)pKeyInfo, P4_KEYINFO); } if( addrOnce ){ + sqlite3VdbeAddOp2(v, OP_Rewind, iTab, sqlite3VdbeCurrentAddr(v)+1); sqlite3VdbeJumpHere(v, addrOnce); /* Subroutine return */ assert( ExprUseYSub(pExpr) ); |