aboutsummaryrefslogtreecommitdiff
path: root/src/sqliteInt.h
diff options
context:
space:
mode:
authordrh <>2021-11-08 23:24:00 +0000
committerdrh <>2021-11-08 23:24:00 +0000
commit90cf38be6312247488930f1d28d72a50b0f3c3d2 (patch)
treed1bb11155230eabc6dea77d34801a361c1bf2459 /src/sqliteInt.h
parenta32536b498603ea7c69ffaca0f8b1a196377b793 (diff)
downloadsqlite-90cf38be6312247488930f1d28d72a50b0f3c3d2.tar.gz
sqlite-90cf38be6312247488930f1d28d72a50b0f3c3d2.zip
Refactor the code that figures out which SELECT in a cascade of nested queries
a particular aggregate function belongs to. This fixes the problem reported by [forum:/forumpost/c7cc2aa3546e39c1|forum post c7cc2aa3546e39c1]. New test cases in dbsqlfuzz and th3. FossilOrigin-Name: 74aec5dd1df95b5635f4da1f13753f113ea1d61de3dc3a1523ba51089c1900e4
Diffstat (limited to 'src/sqliteInt.h')
-rw-r--r--src/sqliteInt.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/sqliteInt.h b/src/sqliteInt.h
index 984b3c680..75f3bfca2 100644
--- a/src/sqliteInt.h
+++ b/src/sqliteInt.h
@@ -3964,8 +3964,8 @@ struct Walker {
int n; /* A counter */
int iCur; /* A cursor number */
SrcList *pSrcList; /* FROM clause */
- struct SrcCount *pSrcCount; /* Counting column references */
struct CCurHint *pCCurHint; /* Used by codeCursorHint() */
+ struct RefSrcList *pRefSrcList; /* sqlite3ReferencesSrcList() */
int *aiCol; /* array of column indexes */
struct IdxCover *pIdxCover; /* Check for index coverage */
struct IdxExprTrans *pIdxTrans; /* Convert idxed expr to column */
@@ -4623,7 +4623,7 @@ void sqlite3AggInfoPersistWalkerInit(Walker*,Parse*);
void sqlite3ExprAnalyzeAggregates(NameContext*, Expr*);
void sqlite3ExprAnalyzeAggList(NameContext*,ExprList*);
int sqlite3ExprCoveredByIndex(Expr*, int iCur, Index *pIdx);
-int sqlite3FunctionUsesThisSrc(Expr*, SrcList*);
+int sqlite3ReferencesSrcList(Parse*, Expr*, SrcList*);
Vdbe *sqlite3GetVdbe(Parse*);
#ifndef SQLITE_UNTESTABLE
void sqlite3PrngSaveState(void);