diff options
author | drh <drh@noemail.net> | 2018-11-03 13:11:24 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2018-11-03 13:11:24 +0000 |
commit | c6e519f335af83d8a816b4a0501ebd30f6057548 (patch) | |
tree | bffbc761dcf0cf758dd5c649815b1e82d3b106c5 /src/wherecode.c | |
parent | 147ad061f66f0977b9bcfd7b0fdfb960b7367324 (diff) | |
download | sqlite-c6e519f335af83d8a816b4a0501ebd30f6057548.tar.gz sqlite-c6e519f335af83d8a816b4a0501ebd30f6057548.zip |
Fix a assert() in the query planner that can arise when doing row-value
operations on a PRIMARY KEY that contains duplicate columns.
Ticket [1a84668dcfdebaf12415d].
FossilOrigin-Name: dcb8c73594ea6b12bad98dc883a585d3e6b925c2ead267dc40332b3d266db5e8
Diffstat (limited to 'src/wherecode.c')
-rw-r--r-- | src/wherecode.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/wherecode.c b/src/wherecode.c index f337006b9..e371cb853 100644 --- a/src/wherecode.c +++ b/src/wherecode.c @@ -425,7 +425,7 @@ static Expr *removeUnindexableInClauseTerms( for(i=iEq; i<pLoop->nLTerm; i++){ if( pLoop->aLTerm[i]->pExpr==pX ){ int iField = pLoop->aLTerm[i]->iField - 1; - assert( pOrigRhs->a[iField].pExpr!=0 ); + if( pOrigRhs->a[iField].pExpr==0 ) continue; /* Duplicate PK column */ pRhs = sqlite3ExprListAppend(pParse, pRhs, pOrigRhs->a[iField].pExpr); pOrigRhs->a[iField].pExpr = 0; assert( pOrigLhs->a[iField].pExpr!=0 ); |