diff options
author | dan <dan@noemail.net> | 2011-10-19 16:20:40 +0000 |
---|---|---|
committer | dan <dan@noemail.net> | 2011-10-19 16:20:40 +0000 |
commit | e459b07601351800e3a7166de88070a40ce12990 (patch) | |
tree | 2188e2ead2b6c1cdae2955f6ded156d6a3e04942 /ext/fts3/fts3_snippet.c | |
parent | 98655a696e8bb48db84f5be50a938dcb27054e45 (diff) | |
parent | 97439483869d65fdbbbaba1695df93bb70050a0d (diff) | |
download | sqlite-e459b07601351800e3a7166de88070a40ce12990.tar.gz sqlite-e459b07601351800e3a7166de88070a40ce12990.zip |
Merge the fts4-content branch with the trunk.
FossilOrigin-Name: 8a4077057ddeb08e8edc5f20a75abaaba7a278ba
Diffstat (limited to 'ext/fts3/fts3_snippet.c')
-rw-r--r-- | ext/fts3/fts3_snippet.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/ext/fts3/fts3_snippet.c b/ext/fts3/fts3_snippet.c index 3bb47a04a..23ef25c5d 100644 --- a/ext/fts3/fts3_snippet.c +++ b/ext/fts3/fts3_snippet.c @@ -368,6 +368,7 @@ static int fts3SnippetFindPositions(Fts3Expr *pExpr, int iPhrase, void *ctx){ int iFirst = 0; pPhrase->pList = pCsr; fts3GetDeltaPosition(&pCsr, &iFirst); + assert( iFirst>=0 ); pPhrase->pHead = pCsr; pPhrase->pTail = pCsr; pPhrase->iHead = iFirst; @@ -1409,7 +1410,7 @@ void sqlite3Fts3Offsets( if( !pTerm ){ /* All offsets for this column have been gathered. */ - break; + rc = SQLITE_DONE; }else{ assert( iCurrent<=iMinPos ); if( 0==(0xFE&*pTerm->pList) ){ @@ -1426,7 +1427,7 @@ void sqlite3Fts3Offsets( "%d %d %d %d ", iCol, pTerm-sCtx.aTerm, iStart, iEnd-iStart ); rc = fts3StringAppend(&res, aBuffer, -1); - }else if( rc==SQLITE_DONE ){ + }else if( rc==SQLITE_DONE && pTab->zContentTbl==0 ){ rc = FTS_CORRUPT_VTAB; } } |