diff options
author | drh <> | 2023-03-24 20:35:56 +0000 |
---|---|---|
committer | drh <> | 2023-03-24 20:35:56 +0000 |
commit | b3ad5444d0a123ea0af7da9e158d2d0f49c9cd00 (patch) | |
tree | 4f053dc7e42a0d06067b07ddefabcfeefc5e3ead /src | |
parent | d23924d1ea4c9ffded38a73eb0f1b5cae52e22dc (diff) | |
download | sqlite-b3ad5444d0a123ea0af7da9e158d2d0f49c9cd00.tar.gz sqlite-b3ad5444d0a123ea0af7da9e158d2d0f49c9cd00.zip |
Fix the handling of indexed expressions in an outer query that appear as
corelated values inside an aggregate function within a subquery.
[forum:/forumpost/79cf371080|Forum post 79cf371080].
FossilOrigin-Name: d8259877eaa962e6f90675790d3770ef02bd1a5d86d319cd8c1834710df844c4
Diffstat (limited to 'src')
-rw-r--r-- | src/select.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/select.c b/src/select.c index ddaa8c06b..a22aed852 100644 --- a/src/select.c +++ b/src/select.c @@ -6485,7 +6485,8 @@ static int aggregateIdxEprRefToColCallback(Walker *pWalker, Expr *pExpr){ if( pExpr->op==TK_AGG_FUNCTION ) return WRC_Continue; if( pExpr->op==TK_IF_NULL_ROW ) return WRC_Continue; pAggInfo = pExpr->pAggInfo; - assert( pExpr->iAgg>=0 && pExpr->iAgg<pAggInfo->nColumn ); + if( pExpr->iAgg>=pAggInfo->nColumn ) return WRC_Continue; + assert( pExpr->iAgg>=0 ); pCol = &pAggInfo->aCol[pExpr->iAgg]; pExpr->op = TK_AGG_COLUMN; pExpr->iTable = pCol->iTable; |