1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-07-30 19:03:16 +03:00

Fix a problem with position list processing for OR queries.

FossilOrigin-Name: 5808f30fae0d844c52a785bf18872be371d4af68
This commit is contained in:
dan
2014-07-17 15:14:07 +00:00
parent 18689f1bd4
commit c5b44f3d90
4 changed files with 26 additions and 19 deletions

View File

@ -1396,13 +1396,14 @@ int sqlite3Fts5ExprPhraseSize(Fts5Expr *pExpr, int iPhrase){
** iPhrase.
*/
int sqlite3Fts5ExprPoslist(Fts5Expr *pExpr, int iPhrase, const u8 **pa){
if( iPhrase<0 || iPhrase>=pExpr->nPhrase ){
*pa = 0;
return 0;
}else{
if( iPhrase>=0 && iPhrase<pExpr->nPhrase ){
Fts5ExprPhrase *pPhrase = pExpr->apPhrase[iPhrase];
*pa = pPhrase->poslist.p;
return pPhrase->poslist.n;
if( sqlite3Fts5IterRowid(pPhrase->aTerm[0].pIter)==pExpr->pRoot->iRowid ){
*pa = pPhrase->poslist.p;
return pPhrase->poslist.n;
}
}
*pa = 0;
return 0;
}