aboutsummaryrefslogtreecommitdiff
path: root/src/expr.c
diff options
context:
space:
mode:
authordan <Dan Kennedy>2023-05-23 17:35:18 +0000
committerdan <Dan Kennedy>2023-05-23 17:35:18 +0000
commit583a5cf5d29b06a05e294c8caf3274e34e322ea8 (patch)
tree8d2f375cc2e3f30a1ffcbe656d9375c4a595071a /src/expr.c
parentddf6b27579ee485cfd1bab7208d7a99c4a03aa90 (diff)
downloadsqlite-583a5cf5d29b06a05e294c8caf3274e34e322ea8.tar.gz
sqlite-583a5cf5d29b06a05e294c8caf3274e34e322ea8.zip
Avoid performing aggregate processing more than once for a single expression. [forum:/info/36ff78b2a3|Forum post 36ff78b2a3].
FossilOrigin-Name: 367b4cc549a14222d54530538e692e9d1a365002c1b8c4ef80ddc0523bfdb3a2
Diffstat (limited to 'src/expr.c')
-rw-r--r--src/expr.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/expr.c b/src/expr.c
index f920b4015..958759812 100644
--- a/src/expr.c
+++ b/src/expr.c
@@ -6414,6 +6414,7 @@ static void findOrCreateAggInfoColumn(
assert( pAggInfo->iFirstReg==0 );
pCol = pAggInfo->aCol;
for(k=0; k<pAggInfo->nColumn; k++, pCol++){
+ if( pCol->pCExpr==pExpr ) return;
if( pCol->iTable==pExpr->iTable
&& pCol->iColumn==pExpr->iColumn
&& pExpr->op!=TK_IF_NULL_ROW