diff options
author | drh <> | 2023-06-02 18:05:54 +0000 |
---|---|---|
committer | drh <> | 2023-06-02 18:05:54 +0000 |
commit | 038158e94aa5b5f8ba5253307d67d369b46bf367 (patch) | |
tree | 15fc0851227399fd0b7d4d42ec22d1a07651d2e2 /src/sqliteInt.h | |
parent | a3f943942c74a5a4030036b0400af87d8af5dc19 (diff) | |
download | sqlite-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.h | 3 |
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*); |