diff options
author | drh <> | 2024-04-06 12:19:50 +0000 |
---|---|---|
committer | drh <> | 2024-04-06 12:19:50 +0000 |
commit | de6a4be9b58f8f4058aaaf4c7c1283f811cc8fce (patch) | |
tree | 4eeb1f2720404d0803d586664487639366e36fbe /src/resolve.c | |
parent | 743ae4c68b51fe56e6a269a79532224d2e45ce12 (diff) | |
download | sqlite-de6a4be9b58f8f4058aaaf4c7c1283f811cc8fce.tar.gz sqlite-de6a4be9b58f8f4058aaaf4c7c1283f811cc8fce.zip |
Generalize pushdown to allow any uncorrelated subquery to be pushed down.
FossilOrigin-Name: 87c45fb0d5f5ca5d6d1ad27bef83f294231d17d94299e1997364a7975b423e38
Diffstat (limited to 'src/resolve.c')
-rw-r--r-- | src/resolve.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/resolve.c b/src/resolve.c index 6e0c9906a..7378addf5 100644 --- a/src/resolve.c +++ b/src/resolve.c @@ -1349,6 +1349,7 @@ static int resolveExprStep(Walker *pWalker, Expr *pExpr){ testcase( pNC->ncFlags & NC_PartIdx ); testcase( pNC->ncFlags & NC_IdxExpr ); testcase( pNC->ncFlags & NC_GenCol ); + assert( pExpr->x.pSelect ); if( pNC->ncFlags & NC_SelfRef ){ notValidImpl(pParse, pNC, "subqueries", pExpr, pExpr); }else{ @@ -1357,6 +1358,7 @@ static int resolveExprStep(Walker *pWalker, Expr *pExpr){ assert( pNC->nRef>=nRef ); if( nRef!=pNC->nRef ){ ExprSetProperty(pExpr, EP_VarSelect); + pExpr->x.pSelect->selFlags |= SF_Correlated; } pNC->ncFlags |= NC_Subquery; } |