aboutsummaryrefslogtreecommitdiff
path: root/src/sqliteInt.h
diff options
context:
space:
mode:
authordrh <>2023-06-02 18:05:54 +0000
committerdrh <>2023-06-02 18:05:54 +0000
commit038158e94aa5b5f8ba5253307d67d369b46bf367 (patch)
tree15fc0851227399fd0b7d4d42ec22d1a07651d2e2 /src/sqliteInt.h
parenta3f943942c74a5a4030036b0400af87d8af5dc19 (diff)
downloadsqlite-038158e94aa5b5f8ba5253307d67d369b46bf367.tar.gz
sqlite-038158e94aa5b5f8ba5253307d67d369b46bf367.zip
Restore the LEFT JOIN strength reduction that was partially lost in
[d747afda5683ca5f] when strength reduction was generalized to all OUTER JOINs. FossilOrigin-Name: 2d962b84dd8ac2d0968f0283f8f082c1c2a7a1f99b59053b2ad8f58745396447
Diffstat (limited to 'src/sqliteInt.h')
-rw-r--r--src/sqliteInt.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/sqliteInt.h b/src/sqliteInt.h
index 2c893770b..1be14a5c9 100644
--- a/src/sqliteInt.h
+++ b/src/sqliteInt.h
@@ -4169,6 +4169,7 @@ struct Walker {
void (*xSelectCallback2)(Walker*,Select*);/* Second callback for SELECTs */
int walkerDepth; /* Number of subqueries */
u16 eCode; /* A small processing code */
+ u16 mWFlags; /* Use-dependent flags */
union { /* Extra data for callback */
NameContext *pNC; /* Naming context */
int n; /* A counter */
@@ -4879,7 +4880,7 @@ int sqlite3ExprCompare(const Parse*,const Expr*,const Expr*, int);
int sqlite3ExprCompareSkip(Expr*,Expr*,int);
int sqlite3ExprListCompare(const ExprList*,const ExprList*, int);
int sqlite3ExprImpliesExpr(const Parse*,const Expr*,const Expr*, int);
-int sqlite3ExprImpliesNonNullRow(Expr*,int);
+int sqlite3ExprImpliesNonNullRow(Expr*,int,int);
void sqlite3AggInfoPersistWalkerInit(Walker*,Parse*);
void sqlite3ExprAnalyzeAggregates(NameContext*, Expr*);
void sqlite3ExprAnalyzeAggList(NameContext*,ExprList*);