aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordrh <>2023-03-24 20:35:56 +0000
committerdrh <>2023-03-24 20:35:56 +0000
commitb3ad5444d0a123ea0af7da9e158d2d0f49c9cd00 (patch)
tree4f053dc7e42a0d06067b07ddefabcfeefc5e3ead /src
parentd23924d1ea4c9ffded38a73eb0f1b5cae52e22dc (diff)
downloadsqlite-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.c3
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;