diff options
author | drh <> | 2025-06-17 18:57:07 +0000 |
---|---|---|
committer | drh <> | 2025-06-17 18:57:07 +0000 |
commit | 110055cd6c0cf0f5fdb170e9bedac21f4480afe6 (patch) | |
tree | 4ed7576b155503f9153eb8df22f4fcfb066a26f4 /src | |
parent | 9ebf9d358b4329f952b27d63ebc1892bf4a5d959 (diff) | |
download | sqlite-110055cd6c0cf0f5fdb170e9bedac21f4480afe6.tar.gz sqlite-110055cd6c0cf0f5fdb170e9bedac21f4480afe6.zip |
Fix a corner-case for [9441fff52cc4e19c].
FossilOrigin-Name: 336a59eb3afd80ce048de472368df6dfc32934ee783859d37663ed8f5cf169a5
Diffstat (limited to 'src')
-rw-r--r-- | src/whereexpr.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/whereexpr.c b/src/whereexpr.c index 6dcbd0167..53c8508e5 100644 --- a/src/whereexpr.c +++ b/src/whereexpr.c @@ -946,7 +946,11 @@ static int termIsEquivalence(Parse *pParse, Expr *pExpr, SrcList *pSrc){ if( !OptimizationEnabled(pParse->db, SQLITE_Transitive) ) return 0; /* (1) */ if( pExpr->op!=TK_EQ && pExpr->op!=TK_IS ) return 0; /* (2) */ if( ExprHasProperty(pExpr, EP_OuterON) ) return 0; /* (3) */ - if( pExpr->op==TK_IS && (pSrc->a[0].fg.jointype & JT_LTORJ)!=0 ){ + assert( pSrc!=0 ); + if( pExpr->op==TK_IS + && pSrc->nSrc + && (pSrc->a[0].fg.jointype & JT_LTORJ)!=0 + ){ return 0; /* (4) */ } aff1 = sqlite3ExprAffinity(pExpr->pLeft); |