aboutsummaryrefslogtreecommitdiff
path: root/src/expr.c
diff options
context:
space:
mode:
authordrh <>2022-12-20 01:48:43 +0000
committerdrh <>2022-12-20 01:48:43 +0000
commit98164c3452eed2ce879e98c10669a239ab4f081e (patch)
treefa28fe330896251be2edb22bd4fd438e1923f2a9 /src/expr.c
parent73e460c932f26be34a987b68e0dc1ee0dc9f57e5 (diff)
downloadsqlite-98164c3452eed2ce879e98c10669a239ab4f081e.tar.gz
sqlite-98164c3452eed2ce879e98c10669a239ab4f081e.zip
Do not use indexed expressions to replace the expression being indexed on a
RIGHT JOIN as that leads to problems, as shown by dbsqlfuzz a644e70d7683a7ca59c71861a153c1dccf8850b9. FossilOrigin-Name: f113eebdbe68246fd38d640b0cdf0fd73ab5d2abad9226274dfa2e41fe286bf0
Diffstat (limited to 'src/expr.c')
-rw-r--r--src/expr.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/expr.c b/src/expr.c
index d12457a81..4d8087579 100644
--- a/src/expr.c
+++ b/src/expr.c
@@ -6384,6 +6384,7 @@ static void findOrCreateAggInfoColumn(
}
fix_up_expr:
ExprSetVVAProperty(pExpr, EP_NoReduce);
+ assert( pExpr->pAggInfo==0 || pExpr->pAggInfo==pAggInfo );
pExpr->pAggInfo = pAggInfo;
if( pExpr->op==TK_COLUMN ){
pExpr->op = TK_AGG_COLUMN;
@@ -6419,6 +6420,7 @@ static int analyzeAggregate(Walker *pWalker, Expr *pExpr){
}
if( pIEpr==0 ) break;
if( NEVER(!ExprUseYTab(pExpr)) ) break;
+ assert( pExpr->pAggInfo==0 );
/* If we reach this point, it means that expression pExpr can be
** translated into a reference to an index column as described by