diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/where.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/where.c b/src/where.c index 5315520db..467963fda 100644 --- a/src/where.c +++ b/src/where.c @@ -5528,6 +5528,12 @@ void sqlite3WhereEnd(WhereInfo *pWInfo){ if( (ws & WHERE_INDEXED) || ((ws & WHERE_MULTI_OR) && pLevel->u.pCovidx) ){ + if( ws & WHERE_MULTI_OR ){ + Index *pIx = pLevel->u.pCovidx; + int iDb = sqlite3SchemaToIndex(db, pIx->pSchema); + sqlite3VdbeAddOp3(v, OP_ReopenIdx, pLevel->iIdxCur, pIx->tnum, iDb); + sqlite3VdbeSetP4KeyInfo(pParse, pIx); + } sqlite3VdbeAddOp1(v, OP_NullRow, pLevel->iIdxCur); } if( pLevel->op==OP_Return ){ |