Fix a performance regression in matchinfo().

FossilOrigin-Name: fa37d8eb7cd8049689068af2a80fe2cbb4a603f1
This commit is contained in:
dan
2010-12-10 17:06:48 +00:00
parent a4bfd7fde8
commit d3842765ae
4 changed files with 19 additions and 41 deletions
+8 -1
View File
@@ -3106,9 +3106,16 @@ char *sqlite3Fts3FindPositions(
assert( pExpr->isLoaded );
if( pExpr->aDoclist ){
char *pEnd = &pExpr->aDoclist[pExpr->nDoclist];
char *pCsr = pExpr->pCurrent;
char *pCsr;
if( pExpr->pCurrent==0 ){
pExpr->pCurrent = pExpr->aDoclist;
pExpr->iCurrent = 0;
pExpr->pCurrent += sqlite3Fts3GetVarint(pExpr->pCurrent,&pExpr->iCurrent);
}
pCsr = pExpr->pCurrent;
assert( pCsr );
while( pCsr<pEnd ){
if( pExpr->iCurrent<iDocid ){
fts3PoslistCopy(0, &pCsr);