aboutsummaryrefslogtreecommitdiff
path: root/src/wherecode.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2018-11-03 13:11:24 +0000
committerdrh <drh@noemail.net>2018-11-03 13:11:24 +0000
commitc6e519f335af83d8a816b4a0501ebd30f6057548 (patch)
treebffbc761dcf0cf758dd5c649815b1e82d3b106c5 /src/wherecode.c
parent147ad061f66f0977b9bcfd7b0fdfb960b7367324 (diff)
downloadsqlite-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.c2
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 );