pCsr             62180 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3BtreePutData(BtCursor *pCsr, u32 offset, u32 amt, void *z){
pCsr             62182 ext/sqlite3/libsqlite/sqlite3.c   assert( cursorHoldsMutex(pCsr) );
pCsr             62183 ext/sqlite3/libsqlite/sqlite3.c   assert( sqlite3_mutex_held(pCsr->pBtree->db->mutex) );
pCsr             62184 ext/sqlite3/libsqlite/sqlite3.c   assert( pCsr->curFlags & BTCF_Incrblob );
pCsr             62186 ext/sqlite3/libsqlite/sqlite3.c   rc = restoreCursorPosition(pCsr);
pCsr             62190 ext/sqlite3/libsqlite/sqlite3.c   assert( pCsr->eState!=CURSOR_REQUIRESEEK );
pCsr             62191 ext/sqlite3/libsqlite/sqlite3.c   if( pCsr->eState!=CURSOR_VALID ){
pCsr             62203 ext/sqlite3/libsqlite/sqlite3.c   VVA_ONLY(rc =) saveAllCursors(pCsr->pBt, pCsr->pgnoRoot, pCsr);
pCsr             62213 ext/sqlite3/libsqlite/sqlite3.c   if( (pCsr->curFlags & BTCF_WriteFlag)==0 ){
pCsr             62216 ext/sqlite3/libsqlite/sqlite3.c   assert( (pCsr->pBt->btsFlags & BTS_READ_ONLY)==0
pCsr             62217 ext/sqlite3/libsqlite/sqlite3.c               && pCsr->pBt->inTransaction==TRANS_WRITE );
pCsr             62218 ext/sqlite3/libsqlite/sqlite3.c   assert( hasSharedCacheTableLock(pCsr->pBtree, pCsr->pgnoRoot, 0, 2) );
pCsr             62219 ext/sqlite3/libsqlite/sqlite3.c   assert( !hasReadConflicts(pCsr->pBtree, pCsr->pgnoRoot) );
pCsr             62220 ext/sqlite3/libsqlite/sqlite3.c   assert( pCsr->apPage[pCsr->iPage]->intKey );
pCsr             62222 ext/sqlite3/libsqlite/sqlite3.c   return accessPayload(pCsr, offset, amt, (unsigned char *)z, 1);
pCsr             62272 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE void sqlite3BtreeCursorHints(BtCursor *pCsr, unsigned int mask){
pCsr             62274 ext/sqlite3/libsqlite/sqlite3.c   pCsr->hints = mask;
pCsr             62282 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3BtreeCursorHasHint(BtCursor *pCsr, unsigned int mask){
pCsr             62283 ext/sqlite3/libsqlite/sqlite3.c   return (pCsr->hints & mask)!=0;
pCsr             77452 ext/sqlite3/libsqlite/sqlite3.c   BtCursor *pCsr;         /* Cursor pointing at blob row */
pCsr             77501 ext/sqlite3/libsqlite/sqlite3.c       p->pCsr =  pC->pCursor;
pCsr             77502 ext/sqlite3/libsqlite/sqlite3.c       sqlite3BtreeIncrblobCursor(p->pCsr);
pCsr             77816 ext/sqlite3/libsqlite/sqlite3.c     sqlite3BtreeEnterCursor(p->pCsr);
pCsr             77817 ext/sqlite3/libsqlite/sqlite3.c     rc = xCall(p->pCsr, iOffset+p->iOffset, n, z);
pCsr             77818 ext/sqlite3/libsqlite/sqlite3.c     sqlite3BtreeLeaveCursor(p->pCsr);
pCsr             78828 ext/sqlite3/libsqlite/sqlite3.c   VdbeCursor *pCsr                /* Cursor that holds the new sorter */
pCsr             78861 ext/sqlite3/libsqlite/sqlite3.c   assert( pCsr->pKeyInfo && pCsr->pBt==0 );
pCsr             78862 ext/sqlite3/libsqlite/sqlite3.c   szKeyInfo = sizeof(KeyInfo) + (pCsr->pKeyInfo->nField-1)*sizeof(CollSeq*);
pCsr             78866 ext/sqlite3/libsqlite/sqlite3.c   pCsr->pSorter = pSorter;
pCsr             78871 ext/sqlite3/libsqlite/sqlite3.c     memcpy(pKeyInfo, pCsr->pKeyInfo, szKeyInfo);
pCsr             79149 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE void sqlite3VdbeSorterClose(sqlite3 *db, VdbeCursor *pCsr){
pCsr             79150 ext/sqlite3/libsqlite/sqlite3.c   VdbeSorter *pSorter = pCsr->pSorter;
pCsr             79155 ext/sqlite3/libsqlite/sqlite3.c     pCsr->pSorter = 0;
pCsr             79650 ext/sqlite3/libsqlite/sqlite3.c   const VdbeCursor *pCsr,         /* Sorter cursor */
pCsr             79653 ext/sqlite3/libsqlite/sqlite3.c   VdbeSorter *pSorter = pCsr->pSorter;
pCsr             80452 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3VdbeSorterRewind(const VdbeCursor *pCsr, int *pbEof){
pCsr             80453 ext/sqlite3/libsqlite/sqlite3.c   VdbeSorter *pSorter = pCsr->pSorter;
pCsr             80498 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3VdbeSorterNext(sqlite3 *db, const VdbeCursor *pCsr, int *pbEof){
pCsr             80499 ext/sqlite3/libsqlite/sqlite3.c   VdbeSorter *pSorter = pCsr->pSorter;
pCsr             80560 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3VdbeSorterRowkey(const VdbeCursor *pCsr, Mem *pOut){
pCsr             80561 ext/sqlite3/libsqlite/sqlite3.c   VdbeSorter *pSorter = pCsr->pSorter;
pCsr             80592 ext/sqlite3/libsqlite/sqlite3.c   const VdbeCursor *pCsr,         /* Sorter cursor */
pCsr             80597 ext/sqlite3/libsqlite/sqlite3.c   VdbeSorter *pSorter = pCsr->pSorter;
pCsr             80599 ext/sqlite3/libsqlite/sqlite3.c   KeyInfo *pKeyInfo = pCsr->pKeyInfo;
pCsr             132580 ext/sqlite3/libsqlite/sqlite3.c   int (*xLanguageid)(sqlite3_tokenizer_cursor *pCsr, int iLangid);
pCsr             133270 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3Fts3MsrIncrRestart(Fts3MultiSegReader *pCsr);
pCsr             133304 ext/sqlite3/libsqlite/sqlite3.c static int fts3EvalNext(Fts3Cursor *pCsr);
pCsr             133305 ext/sqlite3/libsqlite/sqlite3.c static int fts3EvalStart(Fts3Cursor *pCsr);
pCsr             134644 ext/sqlite3/libsqlite/sqlite3.c   sqlite3_vtab_cursor *pCsr;               /* Allocated cursor */
pCsr             134652 ext/sqlite3/libsqlite/sqlite3.c   *ppCsr = pCsr = (sqlite3_vtab_cursor *)sqlite3_malloc(sizeof(Fts3Cursor));
pCsr             134653 ext/sqlite3/libsqlite/sqlite3.c   if( !pCsr ){
pCsr             134656 ext/sqlite3/libsqlite/sqlite3.c   memset(pCsr, 0, sizeof(Fts3Cursor));
pCsr             134665 ext/sqlite3/libsqlite/sqlite3.c   Fts3Cursor *pCsr = (Fts3Cursor *)pCursor;
pCsr             134666 ext/sqlite3/libsqlite/sqlite3.c   assert( ((Fts3Table *)pCsr->base.pVtab)->pSegments==0 );
pCsr             134667 ext/sqlite3/libsqlite/sqlite3.c   sqlite3_finalize(pCsr->pStmt);
pCsr             134668 ext/sqlite3/libsqlite/sqlite3.c   sqlite3Fts3ExprFree(pCsr->pExpr);
pCsr             134669 ext/sqlite3/libsqlite/sqlite3.c   sqlite3Fts3FreeDeferredTokens(pCsr);
pCsr             134670 ext/sqlite3/libsqlite/sqlite3.c   sqlite3_free(pCsr->aDoclist);
pCsr             134671 ext/sqlite3/libsqlite/sqlite3.c   sqlite3_free(pCsr->aMatchinfo);
pCsr             134672 ext/sqlite3/libsqlite/sqlite3.c   assert( ((Fts3Table *)pCsr->base.pVtab)->pSegments==0 );
pCsr             134673 ext/sqlite3/libsqlite/sqlite3.c   sqlite3_free(pCsr);
pCsr             134688 ext/sqlite3/libsqlite/sqlite3.c static int fts3CursorSeekStmt(Fts3Cursor *pCsr, sqlite3_stmt **ppStmt){
pCsr             134690 ext/sqlite3/libsqlite/sqlite3.c   if( pCsr->pStmt==0 ){
pCsr             134691 ext/sqlite3/libsqlite/sqlite3.c     Fts3Table *p = (Fts3Table *)pCsr->base.pVtab;
pCsr             134695 ext/sqlite3/libsqlite/sqlite3.c     rc = sqlite3_prepare_v2(p->db, zSql, -1, &pCsr->pStmt, 0);
pCsr             134698 ext/sqlite3/libsqlite/sqlite3.c   *ppStmt = pCsr->pStmt;
pCsr             134707 ext/sqlite3/libsqlite/sqlite3.c static int fts3CursorSeek(sqlite3_context *pContext, Fts3Cursor *pCsr){
pCsr             134709 ext/sqlite3/libsqlite/sqlite3.c   if( pCsr->isRequireSeek ){
pCsr             134712 ext/sqlite3/libsqlite/sqlite3.c     rc = fts3CursorSeekStmt(pCsr, &pStmt);
pCsr             134714 ext/sqlite3/libsqlite/sqlite3.c       sqlite3_bind_int64(pCsr->pStmt, 1, pCsr->iPrevId);
pCsr             134715 ext/sqlite3/libsqlite/sqlite3.c       pCsr->isRequireSeek = 0;
pCsr             134716 ext/sqlite3/libsqlite/sqlite3.c       if( SQLITE_ROW==sqlite3_step(pCsr->pStmt) ){
pCsr             134719 ext/sqlite3/libsqlite/sqlite3.c         rc = sqlite3_reset(pCsr->pStmt);
pCsr             134720 ext/sqlite3/libsqlite/sqlite3.c         if( rc==SQLITE_OK && ((Fts3Table *)pCsr->base.pVtab)->zContentTbl==0 ){
pCsr             134725 ext/sqlite3/libsqlite/sqlite3.c           pCsr->isEof = 1;
pCsr             135770 ext/sqlite3/libsqlite/sqlite3.c   Fts3MultiSegReader *pCsr, 
pCsr             135773 ext/sqlite3/libsqlite/sqlite3.c   if( (pCsr->nSegment%16)==0 ){
pCsr             135775 ext/sqlite3/libsqlite/sqlite3.c     int nByte = (pCsr->nSegment + 16)*sizeof(Fts3SegReader*);
pCsr             135776 ext/sqlite3/libsqlite/sqlite3.c     apNew = (Fts3SegReader **)sqlite3_realloc(pCsr->apSegment, nByte);
pCsr             135781 ext/sqlite3/libsqlite/sqlite3.c     pCsr->apSegment = apNew;
pCsr             135783 ext/sqlite3/libsqlite/sqlite3.c   pCsr->apSegment[pCsr->nSegment++] = pNew;
pCsr             135803 ext/sqlite3/libsqlite/sqlite3.c   Fts3MultiSegReader *pCsr        /* Cursor object to populate */
pCsr             135819 ext/sqlite3/libsqlite/sqlite3.c       rc = fts3SegReaderCursorAppend(pCsr, pSeg);
pCsr             135847 ext/sqlite3/libsqlite/sqlite3.c       rc = sqlite3Fts3SegReaderNew(pCsr->nSegment+1, 
pCsr             135853 ext/sqlite3/libsqlite/sqlite3.c       rc = fts3SegReaderCursorAppend(pCsr, pSeg);
pCsr             135877 ext/sqlite3/libsqlite/sqlite3.c   Fts3MultiSegReader *pCsr       /* Cursor object to populate */
pCsr             135888 ext/sqlite3/libsqlite/sqlite3.c   memset(pCsr, 0, sizeof(Fts3MultiSegReader));
pCsr             135890 ext/sqlite3/libsqlite/sqlite3.c       p, iLangid, iIndex, iLevel, zTerm, nTerm, isPrefix, isScan, pCsr
pCsr             135905 ext/sqlite3/libsqlite/sqlite3.c   Fts3MultiSegReader *pCsr        /* Fts3MultiSegReader to modify */
pCsr             135908 ext/sqlite3/libsqlite/sqlite3.c       iLangid, 0, FTS3_SEGCURSOR_ALL, zTerm, nTerm, 0, 0,pCsr
pCsr             135926 ext/sqlite3/libsqlite/sqlite3.c   Fts3Cursor *pCsr,               /* Virtual table cursor handle */
pCsr             135939 ext/sqlite3/libsqlite/sqlite3.c     Fts3Table *p = (Fts3Table *)pCsr->base.pVtab;
pCsr             135945 ext/sqlite3/libsqlite/sqlite3.c           rc = sqlite3Fts3SegReaderCursor(p, pCsr->iLangid, 
pCsr             135955 ext/sqlite3/libsqlite/sqlite3.c           rc = sqlite3Fts3SegReaderCursor(p, pCsr->iLangid, 
pCsr             135960 ext/sqlite3/libsqlite/sqlite3.c                 p, pCsr->iLangid, zTerm, nTerm, pSegcsr
pCsr             135968 ext/sqlite3/libsqlite/sqlite3.c       rc = sqlite3Fts3SegReaderCursor(p, pCsr->iLangid, 
pCsr             136076 ext/sqlite3/libsqlite/sqlite3.c   Fts3Cursor *pCsr = (Fts3Cursor *)pCursor;
pCsr             136077 ext/sqlite3/libsqlite/sqlite3.c   if( pCsr->eSearch==FTS3_DOCID_SEARCH || pCsr->eSearch==FTS3_FULLSCAN_SEARCH ){
pCsr             136078 ext/sqlite3/libsqlite/sqlite3.c     if( SQLITE_ROW!=sqlite3_step(pCsr->pStmt) ){
pCsr             136079 ext/sqlite3/libsqlite/sqlite3.c       pCsr->isEof = 1;
pCsr             136080 ext/sqlite3/libsqlite/sqlite3.c       rc = sqlite3_reset(pCsr->pStmt);
pCsr             136082 ext/sqlite3/libsqlite/sqlite3.c       pCsr->iPrevId = sqlite3_column_int64(pCsr->pStmt, 0);
pCsr             136088 ext/sqlite3/libsqlite/sqlite3.c   assert( ((Fts3Table *)pCsr->base.pVtab)->pSegments==0 );
pCsr             136146 ext/sqlite3/libsqlite/sqlite3.c   Fts3Cursor *pCsr = (Fts3Cursor *)pCursor;
pCsr             136170 ext/sqlite3/libsqlite/sqlite3.c   sqlite3_finalize(pCsr->pStmt);
pCsr             136171 ext/sqlite3/libsqlite/sqlite3.c   sqlite3_free(pCsr->aDoclist);
pCsr             136172 ext/sqlite3/libsqlite/sqlite3.c   sqlite3_free(pCsr->aMatchinfo);
pCsr             136173 ext/sqlite3/libsqlite/sqlite3.c   sqlite3Fts3ExprFree(pCsr->pExpr);
pCsr             136177 ext/sqlite3/libsqlite/sqlite3.c   pCsr->iMinDocid = fts3DocidRange(pDocidGe, SMALLEST_INT64);
pCsr             136178 ext/sqlite3/libsqlite/sqlite3.c   pCsr->iMaxDocid = fts3DocidRange(pDocidLe, LARGEST_INT64);
pCsr             136181 ext/sqlite3/libsqlite/sqlite3.c     pCsr->bDesc = (idxStr[0]=='D');
pCsr             136183 ext/sqlite3/libsqlite/sqlite3.c     pCsr->bDesc = p->bDescIdx;
pCsr             136185 ext/sqlite3/libsqlite/sqlite3.c   pCsr->eSearch = (i16)eSearch;
pCsr             136195 ext/sqlite3/libsqlite/sqlite3.c     pCsr->iLangid = 0;
pCsr             136196 ext/sqlite3/libsqlite/sqlite3.c     if( pLangid ) pCsr->iLangid = sqlite3_value_int(pLangid);
pCsr             136199 ext/sqlite3/libsqlite/sqlite3.c     rc = sqlite3Fts3ExprParse(p->pTokenizer, pCsr->iLangid,
pCsr             136200 ext/sqlite3/libsqlite/sqlite3.c         p->azColumn, p->bFts4, p->nColumn, iCol, zQuery, -1, &pCsr->pExpr, 
pCsr             136207 ext/sqlite3/libsqlite/sqlite3.c     rc = fts3EvalStart(pCsr);
pCsr             136210 ext/sqlite3/libsqlite/sqlite3.c     pCsr->pNextId = pCsr->aDoclist;
pCsr             136211 ext/sqlite3/libsqlite/sqlite3.c     pCsr->iPrevId = 0;
pCsr             136223 ext/sqlite3/libsqlite/sqlite3.c           p->zReadExprlist, pCsr->iMinDocid, pCsr->iMaxDocid,
pCsr             136224 ext/sqlite3/libsqlite/sqlite3.c           (pCsr->bDesc ? "DESC" : "ASC")
pCsr             136228 ext/sqlite3/libsqlite/sqlite3.c           p->zReadExprlist, (pCsr->bDesc ? "DESC" : "ASC")
pCsr             136232 ext/sqlite3/libsqlite/sqlite3.c       rc = sqlite3_prepare_v2(p->db, zSql, -1, &pCsr->pStmt, 0);
pCsr             136238 ext/sqlite3/libsqlite/sqlite3.c     rc = fts3CursorSeekStmt(pCsr, &pCsr->pStmt);
pCsr             136240 ext/sqlite3/libsqlite/sqlite3.c       rc = sqlite3_bind_value(pCsr->pStmt, 1, pCons);
pCsr             136263 ext/sqlite3/libsqlite/sqlite3.c   Fts3Cursor *pCsr = (Fts3Cursor *) pCursor;
pCsr             136264 ext/sqlite3/libsqlite/sqlite3.c   *pRowid = pCsr->iPrevId;
pCsr             136285 ext/sqlite3/libsqlite/sqlite3.c   Fts3Cursor *pCsr = (Fts3Cursor *) pCursor;
pCsr             136295 ext/sqlite3/libsqlite/sqlite3.c     sqlite3_result_int64(pCtx, pCsr->iPrevId);
pCsr             136299 ext/sqlite3/libsqlite/sqlite3.c     sqlite3_result_blob(pCtx, &pCsr, sizeof(pCsr), SQLITE_TRANSIENT);
pCsr             136300 ext/sqlite3/libsqlite/sqlite3.c   }else if( iCol==p->nColumn+2 && pCsr->pExpr ){
pCsr             136301 ext/sqlite3/libsqlite/sqlite3.c     sqlite3_result_int64(pCtx, pCsr->iLangid);
pCsr             136305 ext/sqlite3/libsqlite/sqlite3.c     rc = fts3CursorSeek(0, pCsr);
pCsr             136311 ext/sqlite3/libsqlite/sqlite3.c           iLangid = sqlite3_column_int(pCsr->pStmt, p->nColumn+1);
pCsr             136314 ext/sqlite3/libsqlite/sqlite3.c       }else if( sqlite3_data_count(pCsr->pStmt)>(iCol+1) ){
pCsr             136315 ext/sqlite3/libsqlite/sqlite3.c         sqlite3_result_value(pCtx, sqlite3_column_value(pCsr->pStmt, iCol+1));
pCsr             136320 ext/sqlite3/libsqlite/sqlite3.c   assert( ((Fts3Table *)pCsr->base.pVtab)->pSegments==0 );
pCsr             136533 ext/sqlite3/libsqlite/sqlite3.c   Fts3Cursor *pCsr;               /* Cursor handle passed through apVal[0] */
pCsr             136550 ext/sqlite3/libsqlite/sqlite3.c   if( fts3FunctionArg(pContext, "snippet", apVal[0], &pCsr) ) return;
pCsr             136563 ext/sqlite3/libsqlite/sqlite3.c   }else if( SQLITE_OK==fts3CursorSeek(pContext, pCsr) ){
pCsr             136564 ext/sqlite3/libsqlite/sqlite3.c     sqlite3Fts3Snippet(pContext, pCsr, zStart, zEnd, zEllipsis, iCol, nToken);
pCsr             136576 ext/sqlite3/libsqlite/sqlite3.c   Fts3Cursor *pCsr;               /* Cursor handle passed through apVal[0] */
pCsr             136581 ext/sqlite3/libsqlite/sqlite3.c   if( fts3FunctionArg(pContext, "offsets", apVal[0], &pCsr) ) return;
pCsr             136582 ext/sqlite3/libsqlite/sqlite3.c   assert( pCsr );
pCsr             136583 ext/sqlite3/libsqlite/sqlite3.c   if( SQLITE_OK==fts3CursorSeek(pContext, pCsr) ){
pCsr             136584 ext/sqlite3/libsqlite/sqlite3.c     sqlite3Fts3Offsets(pContext, pCsr);
pCsr             136636 ext/sqlite3/libsqlite/sqlite3.c   Fts3Cursor *pCsr;               /* Cursor handle passed through apVal[0] */
pCsr             136638 ext/sqlite3/libsqlite/sqlite3.c   if( SQLITE_OK==fts3FunctionArg(pContext, "matchinfo", apVal[0], &pCsr) ){
pCsr             136643 ext/sqlite3/libsqlite/sqlite3.c     sqlite3Fts3Matchinfo(pContext, pCsr, zArg);
pCsr             136960 ext/sqlite3/libsqlite/sqlite3.c   Fts3Cursor *pCsr,               /* FTS cursor handle */
pCsr             136973 ext/sqlite3/libsqlite/sqlite3.c         int rc = fts3TermSegReaderCursor(pCsr, 
pCsr             136985 ext/sqlite3/libsqlite/sqlite3.c       fts3EvalAllocateReaders(pCsr, pExpr->pLeft, pnToken, pnOr, pRc);
pCsr             136986 ext/sqlite3/libsqlite/sqlite3.c       fts3EvalAllocateReaders(pCsr, pExpr->pRight, pnToken, pnOr, pRc);
pCsr             137066 ext/sqlite3/libsqlite/sqlite3.c   Fts3Cursor *pCsr,               /* FTS Cursor handle */
pCsr             137069 ext/sqlite3/libsqlite/sqlite3.c   Fts3Table *pTab = (Fts3Table *)pCsr->base.pVtab;
pCsr             137101 ext/sqlite3/libsqlite/sqlite3.c static int fts3EvalDeferredPhrase(Fts3Cursor *pCsr, Fts3Phrase *pPhrase){
pCsr             137155 ext/sqlite3/libsqlite/sqlite3.c       pPhrase->doclist.iDocid = pCsr->iPrevId;
pCsr             137213 ext/sqlite3/libsqlite/sqlite3.c static int fts3EvalPhraseStart(Fts3Cursor *pCsr, int bOptOk, Fts3Phrase *p){
pCsr             137214 ext/sqlite3/libsqlite/sqlite3.c   Fts3Table *pTab = (Fts3Table *)pCsr->base.pVtab;
pCsr             137225 ext/sqlite3/libsqlite/sqlite3.c    && pCsr->bDesc==pTab->bDescIdx 
pCsr             137253 ext/sqlite3/libsqlite/sqlite3.c     rc = fts3EvalPhraseLoad(pCsr, p);
pCsr             137479 ext/sqlite3/libsqlite/sqlite3.c   Fts3Cursor *pCsr,               /* FTS Cursor handle */
pCsr             137485 ext/sqlite3/libsqlite/sqlite3.c   Fts3Table *pTab = (Fts3Table *)pCsr->base.pVtab;
pCsr             137498 ext/sqlite3/libsqlite/sqlite3.c     int bDescDoclist = pCsr->bDesc;
pCsr             137579 ext/sqlite3/libsqlite/sqlite3.c   Fts3Cursor *pCsr,               /* FTS Cursor handle */
pCsr             137585 ext/sqlite3/libsqlite/sqlite3.c   Fts3Table *pTab = (Fts3Table *)pCsr->base.pVtab;
pCsr             137588 ext/sqlite3/libsqlite/sqlite3.c     rc = fts3EvalIncrPhraseNext(pCsr, p, pbEof);
pCsr             137589 ext/sqlite3/libsqlite/sqlite3.c   }else if( pCsr->bDesc!=pTab->bDescIdx && pDL->nAll ){
pCsr             137618 ext/sqlite3/libsqlite/sqlite3.c   Fts3Cursor *pCsr,               /* FTS Cursor handle */
pCsr             137632 ext/sqlite3/libsqlite/sqlite3.c       *pRc = fts3EvalPhraseStart(pCsr, 1, pExpr->pPhrase);
pCsr             137634 ext/sqlite3/libsqlite/sqlite3.c       fts3EvalStartReaders(pCsr, pExpr->pLeft, pRc);
pCsr             137635 ext/sqlite3/libsqlite/sqlite3.c       fts3EvalStartReaders(pCsr, pExpr->pRight, pRc);
pCsr             137671 ext/sqlite3/libsqlite/sqlite3.c   Fts3Cursor *pCsr,               /* FTS Cursor handle */
pCsr             137689 ext/sqlite3/libsqlite/sqlite3.c         *pRc = sqlite3Fts3MsrOvfl(pCsr, pTC->pToken->pSegcsr, &pTC->nOvfl);
pCsr             137702 ext/sqlite3/libsqlite/sqlite3.c       fts3EvalTokenCosts(pCsr, pRoot, pExpr->pLeft, ppTC, ppOr, pRc);
pCsr             137708 ext/sqlite3/libsqlite/sqlite3.c       fts3EvalTokenCosts(pCsr, pRoot, pExpr->pRight, ppTC, ppOr, pRc);
pCsr             137724 ext/sqlite3/libsqlite/sqlite3.c static int fts3EvalAverageDocsize(Fts3Cursor *pCsr, int *pnPage){
pCsr             137725 ext/sqlite3/libsqlite/sqlite3.c   if( pCsr->nRowAvg==0 ){
pCsr             137738 ext/sqlite3/libsqlite/sqlite3.c     Fts3Table *p = (Fts3Table*)pCsr->base.pVtab;
pCsr             137760 ext/sqlite3/libsqlite/sqlite3.c     pCsr->nDoc = nDoc;
pCsr             137761 ext/sqlite3/libsqlite/sqlite3.c     pCsr->nRowAvg = (int)(((nByte / nDoc) + p->nPgsz) / p->nPgsz);
pCsr             137762 ext/sqlite3/libsqlite/sqlite3.c     assert( pCsr->nRowAvg>0 ); 
pCsr             137767 ext/sqlite3/libsqlite/sqlite3.c   *pnPage = pCsr->nRowAvg;
pCsr             137786 ext/sqlite3/libsqlite/sqlite3.c   Fts3Cursor *pCsr,               /* FTS Cursor handle */
pCsr             137791 ext/sqlite3/libsqlite/sqlite3.c   Fts3Table *pTab = (Fts3Table *)pCsr->base.pVtab;
pCsr             137822 ext/sqlite3/libsqlite/sqlite3.c   rc = fts3EvalAverageDocsize(pCsr, &nDocSize);
pCsr             137868 ext/sqlite3/libsqlite/sqlite3.c       rc = sqlite3Fts3DeferToken(pCsr, pToken, pTC->iCol);
pCsr             137918 ext/sqlite3/libsqlite/sqlite3.c static int fts3EvalStart(Fts3Cursor *pCsr){
pCsr             137919 ext/sqlite3/libsqlite/sqlite3.c   Fts3Table *pTab = (Fts3Table *)pCsr->base.pVtab;
pCsr             137925 ext/sqlite3/libsqlite/sqlite3.c   fts3EvalAllocateReaders(pCsr, pCsr->pExpr, &nToken, &nOr, &rc);
pCsr             137945 ext/sqlite3/libsqlite/sqlite3.c       fts3EvalTokenCosts(pCsr, 0, pCsr->pExpr, &pTC, &ppOr, &rc);
pCsr             137950 ext/sqlite3/libsqlite/sqlite3.c         rc = fts3EvalSelectDeferred(pCsr, 0, aTC, nToken);
pCsr             137952 ext/sqlite3/libsqlite/sqlite3.c           rc = fts3EvalSelectDeferred(pCsr, apOr[ii], aTC, nToken);
pCsr             137961 ext/sqlite3/libsqlite/sqlite3.c   fts3EvalStartReaders(pCsr, pCsr->pExpr, &rc);
pCsr             138074 ext/sqlite3/libsqlite/sqlite3.c   Fts3Cursor *pCsr,               /* FTS Cursor handle */
pCsr             138079 ext/sqlite3/libsqlite/sqlite3.c     int bDescDoclist = pCsr->bDesc;         /* Used by DOCID_CMP() macro */
pCsr             138093 ext/sqlite3/libsqlite/sqlite3.c           fts3EvalNextRow(pCsr, pRight, pRc);
pCsr             138099 ext/sqlite3/libsqlite/sqlite3.c           fts3EvalNextRow(pCsr, pLeft, pRc);
pCsr             138104 ext/sqlite3/libsqlite/sqlite3.c           fts3EvalNextRow(pCsr, pLeft, pRc);
pCsr             138105 ext/sqlite3/libsqlite/sqlite3.c           fts3EvalNextRow(pCsr, pRight, pRc);
pCsr             138110 ext/sqlite3/libsqlite/sqlite3.c               fts3EvalNextRow(pCsr, pLeft, pRc);
pCsr             138112 ext/sqlite3/libsqlite/sqlite3.c               fts3EvalNextRow(pCsr, pRight, pRc);
pCsr             138122 ext/sqlite3/libsqlite/sqlite3.c                 fts3EvalNextRow(pCsr, pRight, pRc);
pCsr             138129 ext/sqlite3/libsqlite/sqlite3.c                 fts3EvalNextRow(pCsr, pLeft, pRc);
pCsr             138146 ext/sqlite3/libsqlite/sqlite3.c           fts3EvalNextRow(pCsr, pLeft, pRc);
pCsr             138148 ext/sqlite3/libsqlite/sqlite3.c           fts3EvalNextRow(pCsr, pRight, pRc);
pCsr             138150 ext/sqlite3/libsqlite/sqlite3.c           fts3EvalNextRow(pCsr, pLeft, pRc);
pCsr             138151 ext/sqlite3/libsqlite/sqlite3.c           fts3EvalNextRow(pCsr, pRight, pRc);
pCsr             138170 ext/sqlite3/libsqlite/sqlite3.c           fts3EvalNextRow(pCsr, pRight, pRc);
pCsr             138174 ext/sqlite3/libsqlite/sqlite3.c         fts3EvalNextRow(pCsr, pLeft, pRc);
pCsr             138180 ext/sqlite3/libsqlite/sqlite3.c             fts3EvalNextRow(pCsr, pRight, pRc);
pCsr             138191 ext/sqlite3/libsqlite/sqlite3.c         *pRc = fts3EvalPhraseNext(pCsr, pPhrase, &pExpr->bEof);
pCsr             138301 ext/sqlite3/libsqlite/sqlite3.c   Fts3Cursor *pCsr,               /* FTS cursor handle */
pCsr             138311 ext/sqlite3/libsqlite/sqlite3.c             fts3EvalTestExpr(pCsr, pExpr->pLeft, pRc)
pCsr             138312 ext/sqlite3/libsqlite/sqlite3.c          && fts3EvalTestExpr(pCsr, pExpr->pRight, pRc)
pCsr             138337 ext/sqlite3/libsqlite/sqlite3.c             if( p->pRight->iDocid==pCsr->iPrevId ){
pCsr             138341 ext/sqlite3/libsqlite/sqlite3.c           if( p->iDocid==pCsr->iPrevId ){
pCsr             138349 ext/sqlite3/libsqlite/sqlite3.c         int bHit1 = fts3EvalTestExpr(pCsr, pExpr->pLeft, pRc);
pCsr             138350 ext/sqlite3/libsqlite/sqlite3.c         int bHit2 = fts3EvalTestExpr(pCsr, pExpr->pRight, pRc);
pCsr             138357 ext/sqlite3/libsqlite/sqlite3.c             fts3EvalTestExpr(pCsr, pExpr->pLeft, pRc)
pCsr             138358 ext/sqlite3/libsqlite/sqlite3.c          && !fts3EvalTestExpr(pCsr, pExpr->pRight, pRc)
pCsr             138364 ext/sqlite3/libsqlite/sqlite3.c         if( pCsr->pDeferred 
pCsr             138365 ext/sqlite3/libsqlite/sqlite3.c          && (pExpr->iDocid==pCsr->iPrevId || pExpr->bDeferred)
pCsr             138372 ext/sqlite3/libsqlite/sqlite3.c           *pRc = fts3EvalDeferredPhrase(pCsr, pPhrase);
pCsr             138374 ext/sqlite3/libsqlite/sqlite3.c           pExpr->iDocid = pCsr->iPrevId;
pCsr             138378 ext/sqlite3/libsqlite/sqlite3.c           bHit = (pExpr->bEof==0 && pExpr->iDocid==pCsr->iPrevId);
pCsr             138411 ext/sqlite3/libsqlite/sqlite3.c static int fts3EvalTestDeferredAndNear(Fts3Cursor *pCsr, int *pRc){
pCsr             138422 ext/sqlite3/libsqlite/sqlite3.c     if( pCsr->pDeferred ){
pCsr             138423 ext/sqlite3/libsqlite/sqlite3.c       rc = fts3CursorSeek(0, pCsr);
pCsr             138425 ext/sqlite3/libsqlite/sqlite3.c         rc = sqlite3Fts3CacheDeferredDoclists(pCsr);
pCsr             138428 ext/sqlite3/libsqlite/sqlite3.c     bMiss = (0==fts3EvalTestExpr(pCsr, pCsr->pExpr, &rc));
pCsr             138431 ext/sqlite3/libsqlite/sqlite3.c     sqlite3Fts3FreeDeferredDoclists(pCsr);
pCsr             138441 ext/sqlite3/libsqlite/sqlite3.c static int fts3EvalNext(Fts3Cursor *pCsr){
pCsr             138443 ext/sqlite3/libsqlite/sqlite3.c   Fts3Expr *pExpr = pCsr->pExpr;
pCsr             138444 ext/sqlite3/libsqlite/sqlite3.c   assert( pCsr->isEof==0 );
pCsr             138446 ext/sqlite3/libsqlite/sqlite3.c     pCsr->isEof = 1;
pCsr             138449 ext/sqlite3/libsqlite/sqlite3.c       if( pCsr->isRequireSeek==0 ){
pCsr             138450 ext/sqlite3/libsqlite/sqlite3.c         sqlite3_reset(pCsr->pStmt);
pCsr             138452 ext/sqlite3/libsqlite/sqlite3.c       assert( sqlite3_data_count(pCsr->pStmt)==0 );
pCsr             138453 ext/sqlite3/libsqlite/sqlite3.c       fts3EvalNextRow(pCsr, pExpr, &rc);
pCsr             138454 ext/sqlite3/libsqlite/sqlite3.c       pCsr->isEof = pExpr->bEof;
pCsr             138455 ext/sqlite3/libsqlite/sqlite3.c       pCsr->isRequireSeek = 1;
pCsr             138456 ext/sqlite3/libsqlite/sqlite3.c       pCsr->isMatchinfoNeeded = 1;
pCsr             138457 ext/sqlite3/libsqlite/sqlite3.c       pCsr->iPrevId = pExpr->iDocid;
pCsr             138458 ext/sqlite3/libsqlite/sqlite3.c     }while( pCsr->isEof==0 && fts3EvalTestDeferredAndNear(pCsr, &rc) );
pCsr             138464 ext/sqlite3/libsqlite/sqlite3.c         (pCsr->bDesc==0 && pCsr->iPrevId>pCsr->iMaxDocid)
pCsr             138465 ext/sqlite3/libsqlite/sqlite3.c      || (pCsr->bDesc!=0 && pCsr->iPrevId<pCsr->iMinDocid)
pCsr             138467 ext/sqlite3/libsqlite/sqlite3.c     pCsr->isEof = 1;
pCsr             138483 ext/sqlite3/libsqlite/sqlite3.c   Fts3Cursor *pCsr,
pCsr             138501 ext/sqlite3/libsqlite/sqlite3.c         *pRc = fts3EvalPhraseStart(pCsr, 0, pPhrase);
pCsr             138512 ext/sqlite3/libsqlite/sqlite3.c     fts3EvalRestart(pCsr, pExpr->pLeft, pRc);
pCsr             138513 ext/sqlite3/libsqlite/sqlite3.c     fts3EvalRestart(pCsr, pExpr->pRight, pRc);
pCsr             138569 ext/sqlite3/libsqlite/sqlite3.c   Fts3Cursor *pCsr,               /* Cursor object */
pCsr             138576 ext/sqlite3/libsqlite/sqlite3.c     Fts3Table *pTab = (Fts3Table *)pCsr->base.pVtab;
pCsr             138580 ext/sqlite3/libsqlite/sqlite3.c     sqlite3_int64 iPrevId = pCsr->iPrevId;
pCsr             138602 ext/sqlite3/libsqlite/sqlite3.c     fts3EvalRestart(pCsr, pRoot, &rc);
pCsr             138604 ext/sqlite3/libsqlite/sqlite3.c     while( pCsr->isEof==0 && rc==SQLITE_OK ){
pCsr             138608 ext/sqlite3/libsqlite/sqlite3.c         if( pCsr->isRequireSeek==0 ) sqlite3_reset(pCsr->pStmt);
pCsr             138609 ext/sqlite3/libsqlite/sqlite3.c         assert( sqlite3_data_count(pCsr->pStmt)==0 );
pCsr             138612 ext/sqlite3/libsqlite/sqlite3.c         fts3EvalNextRow(pCsr, pRoot, &rc);
pCsr             138613 ext/sqlite3/libsqlite/sqlite3.c         pCsr->isEof = pRoot->bEof;
pCsr             138614 ext/sqlite3/libsqlite/sqlite3.c         pCsr->isRequireSeek = 1;
pCsr             138615 ext/sqlite3/libsqlite/sqlite3.c         pCsr->isMatchinfoNeeded = 1;
pCsr             138616 ext/sqlite3/libsqlite/sqlite3.c         pCsr->iPrevId = pRoot->iDocid;
pCsr             138617 ext/sqlite3/libsqlite/sqlite3.c       }while( pCsr->isEof==0 
pCsr             138619 ext/sqlite3/libsqlite/sqlite3.c            && fts3EvalTestDeferredAndNear(pCsr, &rc) 
pCsr             138622 ext/sqlite3/libsqlite/sqlite3.c       if( rc==SQLITE_OK && pCsr->isEof==0 ){
pCsr             138627 ext/sqlite3/libsqlite/sqlite3.c     pCsr->isEof = 0;
pCsr             138628 ext/sqlite3/libsqlite/sqlite3.c     pCsr->iPrevId = iPrevId;
pCsr             138639 ext/sqlite3/libsqlite/sqlite3.c       fts3EvalRestart(pCsr, pRoot, &rc);
pCsr             138641 ext/sqlite3/libsqlite/sqlite3.c         fts3EvalNextRow(pCsr, pRoot, &rc);
pCsr             138644 ext/sqlite3/libsqlite/sqlite3.c       fts3EvalTestDeferredAndNear(pCsr, &rc);
pCsr             138681 ext/sqlite3/libsqlite/sqlite3.c   Fts3Cursor *pCsr,               /* FTS cursor handle */
pCsr             138685 ext/sqlite3/libsqlite/sqlite3.c   Fts3Table *pTab = (Fts3Table *)pCsr->base.pVtab;
pCsr             138690 ext/sqlite3/libsqlite/sqlite3.c     assert( pCsr->nDoc>0 );
pCsr             138692 ext/sqlite3/libsqlite/sqlite3.c       aiOut[iCol*3 + 1] = (u32)pCsr->nDoc;
pCsr             138693 ext/sqlite3/libsqlite/sqlite3.c       aiOut[iCol*3 + 2] = (u32)pCsr->nDoc;
pCsr             138696 ext/sqlite3/libsqlite/sqlite3.c     rc = fts3EvalGatherStats(pCsr, pExpr);
pCsr             138729 ext/sqlite3/libsqlite/sqlite3.c   Fts3Cursor *pCsr,               /* FTS3 cursor object */
pCsr             138735 ext/sqlite3/libsqlite/sqlite3.c   Fts3Table *pTab = (Fts3Table *)pCsr->base.pVtab;
pCsr             138750 ext/sqlite3/libsqlite/sqlite3.c   if( iDocid!=pCsr->iPrevId || pExpr->bEof ){
pCsr             138777 ext/sqlite3/libsqlite/sqlite3.c       fts3EvalRestart(pCsr, pNear, &rc);
pCsr             138779 ext/sqlite3/libsqlite/sqlite3.c         fts3EvalNextRow(pCsr, pNear, &rc);
pCsr             138786 ext/sqlite3/libsqlite/sqlite3.c         fts3EvalNextRow(pCsr, pNear, &rc);
pCsr             138793 ext/sqlite3/libsqlite/sqlite3.c     if( pCsr->bDesc==bDescDoclist ){
pCsr             138796 ext/sqlite3/libsqlite/sqlite3.c       while( (pIter==0 || DOCID_CMP(iDocid, pCsr->iPrevId)<0 ) && bEof==0 ){
pCsr             138804 ext/sqlite3/libsqlite/sqlite3.c       while( (pIter==0 || DOCID_CMP(iDocid, pCsr->iPrevId)>0 ) && bEof==0 ){
pCsr             138815 ext/sqlite3/libsqlite/sqlite3.c     if( bEof || iDocid!=pCsr->iPrevId ) pIter = 0;
pCsr             139108 ext/sqlite3/libsqlite/sqlite3.c   Fts3auxCursor *pCsr;            /* Pointer to cursor object to return */
pCsr             139112 ext/sqlite3/libsqlite/sqlite3.c   pCsr = (Fts3auxCursor *)sqlite3_malloc(sizeof(Fts3auxCursor));
pCsr             139113 ext/sqlite3/libsqlite/sqlite3.c   if( !pCsr ) return SQLITE_NOMEM;
pCsr             139114 ext/sqlite3/libsqlite/sqlite3.c   memset(pCsr, 0, sizeof(Fts3auxCursor));
pCsr             139116 ext/sqlite3/libsqlite/sqlite3.c   *ppCsr = (sqlite3_vtab_cursor *)pCsr;
pCsr             139125 ext/sqlite3/libsqlite/sqlite3.c   Fts3auxCursor *pCsr = (Fts3auxCursor *)pCursor;
pCsr             139128 ext/sqlite3/libsqlite/sqlite3.c   sqlite3Fts3SegReaderFinish(&pCsr->csr);
pCsr             139129 ext/sqlite3/libsqlite/sqlite3.c   sqlite3_free((void *)pCsr->filter.zTerm);
pCsr             139130 ext/sqlite3/libsqlite/sqlite3.c   sqlite3_free(pCsr->zStop);
pCsr             139131 ext/sqlite3/libsqlite/sqlite3.c   sqlite3_free(pCsr->aStat);
pCsr             139132 ext/sqlite3/libsqlite/sqlite3.c   sqlite3_free(pCsr);
pCsr             139136 ext/sqlite3/libsqlite/sqlite3.c static int fts3auxGrowStatArray(Fts3auxCursor *pCsr, int nSize){
pCsr             139137 ext/sqlite3/libsqlite/sqlite3.c   if( nSize>pCsr->nStat ){
pCsr             139139 ext/sqlite3/libsqlite/sqlite3.c     aNew = (struct Fts3auxColstats *)sqlite3_realloc(pCsr->aStat, 
pCsr             139143 ext/sqlite3/libsqlite/sqlite3.c     memset(&aNew[pCsr->nStat], 0, 
pCsr             139144 ext/sqlite3/libsqlite/sqlite3.c         sizeof(struct Fts3auxColstats) * (nSize - pCsr->nStat)
pCsr             139146 ext/sqlite3/libsqlite/sqlite3.c     pCsr->aStat = aNew;
pCsr             139147 ext/sqlite3/libsqlite/sqlite3.c     pCsr->nStat = nSize;
pCsr             139156 ext/sqlite3/libsqlite/sqlite3.c   Fts3auxCursor *pCsr = (Fts3auxCursor *)pCursor;
pCsr             139161 ext/sqlite3/libsqlite/sqlite3.c   pCsr->iRowid++;
pCsr             139163 ext/sqlite3/libsqlite/sqlite3.c   for(pCsr->iCol++; pCsr->iCol<pCsr->nStat; pCsr->iCol++){
pCsr             139164 ext/sqlite3/libsqlite/sqlite3.c     if( pCsr->aStat[pCsr->iCol].nDoc>0 ) return SQLITE_OK;
pCsr             139167 ext/sqlite3/libsqlite/sqlite3.c   rc = sqlite3Fts3SegReaderStep(pFts3, &pCsr->csr);
pCsr             139170 ext/sqlite3/libsqlite/sqlite3.c     int nDoclist = pCsr->csr.nDoclist;
pCsr             139171 ext/sqlite3/libsqlite/sqlite3.c     char *aDoclist = pCsr->csr.aDoclist;
pCsr             139176 ext/sqlite3/libsqlite/sqlite3.c     if( pCsr->zStop ){
pCsr             139177 ext/sqlite3/libsqlite/sqlite3.c       int n = (pCsr->nStop<pCsr->csr.nTerm) ? pCsr->nStop : pCsr->csr.nTerm;
pCsr             139178 ext/sqlite3/libsqlite/sqlite3.c       int mc = memcmp(pCsr->zStop, pCsr->csr.zTerm, n);
pCsr             139179 ext/sqlite3/libsqlite/sqlite3.c       if( mc<0 || (mc==0 && pCsr->csr.nTerm>pCsr->nStop) ){
pCsr             139180 ext/sqlite3/libsqlite/sqlite3.c         pCsr->isEof = 1;
pCsr             139185 ext/sqlite3/libsqlite/sqlite3.c     if( fts3auxGrowStatArray(pCsr, 2) ) return SQLITE_NOMEM;
pCsr             139186 ext/sqlite3/libsqlite/sqlite3.c     memset(pCsr->aStat, 0, sizeof(struct Fts3auxColstats) * pCsr->nStat);
pCsr             139196 ext/sqlite3/libsqlite/sqlite3.c           pCsr->aStat[0].nDoc++;
pCsr             139212 ext/sqlite3/libsqlite/sqlite3.c             pCsr->aStat[1].nDoc++;
pCsr             139223 ext/sqlite3/libsqlite/sqlite3.c             pCsr->aStat[iCol+1].nOcc++;
pCsr             139224 ext/sqlite3/libsqlite/sqlite3.c             pCsr->aStat[0].nOcc++;
pCsr             139231 ext/sqlite3/libsqlite/sqlite3.c           if( fts3auxGrowStatArray(pCsr, iCol+2) ) return SQLITE_NOMEM;
pCsr             139232 ext/sqlite3/libsqlite/sqlite3.c           pCsr->aStat[iCol+1].nDoc++;
pCsr             139238 ext/sqlite3/libsqlite/sqlite3.c     pCsr->iCol = 0;
pCsr             139241 ext/sqlite3/libsqlite/sqlite3.c     pCsr->isEof = 1;
pCsr             139256 ext/sqlite3/libsqlite/sqlite3.c   Fts3auxCursor *pCsr = (Fts3auxCursor *)pCursor;
pCsr             139293 ext/sqlite3/libsqlite/sqlite3.c   testcase(pCsr->filter.zTerm);
pCsr             139294 ext/sqlite3/libsqlite/sqlite3.c   sqlite3Fts3SegReaderFinish(&pCsr->csr);
pCsr             139295 ext/sqlite3/libsqlite/sqlite3.c   sqlite3_free((void *)pCsr->filter.zTerm);
pCsr             139296 ext/sqlite3/libsqlite/sqlite3.c   sqlite3_free(pCsr->aStat);
pCsr             139297 ext/sqlite3/libsqlite/sqlite3.c   memset(&pCsr->csr, 0, ((u8*)&pCsr[1]) - (u8*)&pCsr->csr);
pCsr             139299 ext/sqlite3/libsqlite/sqlite3.c   pCsr->filter.flags = FTS3_SEGMENT_REQUIRE_POS|FTS3_SEGMENT_IGNORE_EMPTY;
pCsr             139300 ext/sqlite3/libsqlite/sqlite3.c   if( isScan ) pCsr->filter.flags |= FTS3_SEGMENT_SCAN;
pCsr             139306 ext/sqlite3/libsqlite/sqlite3.c       pCsr->filter.zTerm = sqlite3_mprintf("%s", zStr);
pCsr             139307 ext/sqlite3/libsqlite/sqlite3.c       pCsr->filter.nTerm = sqlite3_value_bytes(apVal[0]);
pCsr             139308 ext/sqlite3/libsqlite/sqlite3.c       if( pCsr->filter.zTerm==0 ) return SQLITE_NOMEM;
pCsr             139313 ext/sqlite3/libsqlite/sqlite3.c     pCsr->zStop = sqlite3_mprintf("%s", sqlite3_value_text(apVal[iLe]));
pCsr             139314 ext/sqlite3/libsqlite/sqlite3.c     pCsr->nStop = sqlite3_value_bytes(apVal[iLe]);
pCsr             139315 ext/sqlite3/libsqlite/sqlite3.c     if( pCsr->zStop==0 ) return SQLITE_NOMEM;
pCsr             139328 ext/sqlite3/libsqlite/sqlite3.c   pCsr->iLangid = iLangVal;
pCsr             139331 ext/sqlite3/libsqlite/sqlite3.c       pCsr->filter.zTerm, pCsr->filter.nTerm, 0, isScan, &pCsr->csr
pCsr             139334 ext/sqlite3/libsqlite/sqlite3.c     rc = sqlite3Fts3SegReaderStart(pFts3, &pCsr->csr, &pCsr->filter);
pCsr             139345 ext/sqlite3/libsqlite/sqlite3.c   Fts3auxCursor *pCsr = (Fts3auxCursor *)pCursor;
pCsr             139346 ext/sqlite3/libsqlite/sqlite3.c   return pCsr->isEof;
pCsr             139397 ext/sqlite3/libsqlite/sqlite3.c   Fts3auxCursor *pCsr = (Fts3auxCursor *)pCursor;
pCsr             139398 ext/sqlite3/libsqlite/sqlite3.c   *pRowid = pCsr->iRowid;
pCsr             139579 ext/sqlite3/libsqlite/sqlite3.c   sqlite3_tokenizer_cursor *pCsr = 0;
pCsr             139582 ext/sqlite3/libsqlite/sqlite3.c   rc = pModule->xOpen(pTokenizer, z, n, &pCsr);
pCsr             139583 ext/sqlite3/libsqlite/sqlite3.c   assert( rc==SQLITE_OK || pCsr==0 );
pCsr             139585 ext/sqlite3/libsqlite/sqlite3.c     pCsr->pTokenizer = pTokenizer;
pCsr             139587 ext/sqlite3/libsqlite/sqlite3.c       rc = pModule->xLanguageid(pCsr, iLangid);
pCsr             139589 ext/sqlite3/libsqlite/sqlite3.c         pModule->xClose(pCsr);
pCsr             139590 ext/sqlite3/libsqlite/sqlite3.c         pCsr = 0;
pCsr             139594 ext/sqlite3/libsqlite/sqlite3.c   *ppCsr = pCsr;
pCsr             142020 ext/sqlite3/libsqlite/sqlite3.c   sqlite3_tokenizer_cursor *pCsr = 0;
pCsr             142072 ext/sqlite3/libsqlite/sqlite3.c   if( sqlite3Fts3OpenTokenizer(pTokenizer, 0, zInput, nInput, &pCsr) ){
pCsr             142077 ext/sqlite3/libsqlite/sqlite3.c   while( SQLITE_OK==p->xNext(pCsr, &zToken, &nToken, &iStart, &iEnd, &iPos) ){
pCsr             142085 ext/sqlite3/libsqlite/sqlite3.c   if( SQLITE_OK!=p->xClose(pCsr) ){
pCsr             142568 ext/sqlite3/libsqlite/sqlite3.c   sqlite3_tokenizer_cursor *pCsr; /* Cursor to iterate through zInput */
pCsr             142766 ext/sqlite3/libsqlite/sqlite3.c   Fts3tokCursor *pCsr;
pCsr             142769 ext/sqlite3/libsqlite/sqlite3.c   pCsr = (Fts3tokCursor *)sqlite3_malloc(sizeof(Fts3tokCursor));
pCsr             142770 ext/sqlite3/libsqlite/sqlite3.c   if( pCsr==0 ){
pCsr             142773 ext/sqlite3/libsqlite/sqlite3.c   memset(pCsr, 0, sizeof(Fts3tokCursor));
pCsr             142775 ext/sqlite3/libsqlite/sqlite3.c   *ppCsr = (sqlite3_vtab_cursor *)pCsr;
pCsr             142783 ext/sqlite3/libsqlite/sqlite3.c static void fts3tokResetCursor(Fts3tokCursor *pCsr){
pCsr             142784 ext/sqlite3/libsqlite/sqlite3.c   if( pCsr->pCsr ){
pCsr             142785 ext/sqlite3/libsqlite/sqlite3.c     Fts3tokTable *pTab = (Fts3tokTable *)(pCsr->base.pVtab);
pCsr             142786 ext/sqlite3/libsqlite/sqlite3.c     pTab->pMod->xClose(pCsr->pCsr);
pCsr             142787 ext/sqlite3/libsqlite/sqlite3.c     pCsr->pCsr = 0;
pCsr             142789 ext/sqlite3/libsqlite/sqlite3.c   sqlite3_free(pCsr->zInput);
pCsr             142790 ext/sqlite3/libsqlite/sqlite3.c   pCsr->zInput = 0;
pCsr             142791 ext/sqlite3/libsqlite/sqlite3.c   pCsr->zToken = 0;
pCsr             142792 ext/sqlite3/libsqlite/sqlite3.c   pCsr->nToken = 0;
pCsr             142793 ext/sqlite3/libsqlite/sqlite3.c   pCsr->iStart = 0;
pCsr             142794 ext/sqlite3/libsqlite/sqlite3.c   pCsr->iEnd = 0;
pCsr             142795 ext/sqlite3/libsqlite/sqlite3.c   pCsr->iPos = 0;
pCsr             142796 ext/sqlite3/libsqlite/sqlite3.c   pCsr->iRowid = 0;
pCsr             142803 ext/sqlite3/libsqlite/sqlite3.c   Fts3tokCursor *pCsr = (Fts3tokCursor *)pCursor;
pCsr             142805 ext/sqlite3/libsqlite/sqlite3.c   fts3tokResetCursor(pCsr);
pCsr             142806 ext/sqlite3/libsqlite/sqlite3.c   sqlite3_free(pCsr);
pCsr             142814 ext/sqlite3/libsqlite/sqlite3.c   Fts3tokCursor *pCsr = (Fts3tokCursor *)pCursor;
pCsr             142818 ext/sqlite3/libsqlite/sqlite3.c   pCsr->iRowid++;
pCsr             142819 ext/sqlite3/libsqlite/sqlite3.c   rc = pTab->pMod->xNext(pCsr->pCsr,
pCsr             142820 ext/sqlite3/libsqlite/sqlite3.c       &pCsr->zToken, &pCsr->nToken,
pCsr             142821 ext/sqlite3/libsqlite/sqlite3.c       &pCsr->iStart, &pCsr->iEnd, &pCsr->iPos
pCsr             142825 ext/sqlite3/libsqlite/sqlite3.c     fts3tokResetCursor(pCsr);
pCsr             142843 ext/sqlite3/libsqlite/sqlite3.c   Fts3tokCursor *pCsr = (Fts3tokCursor *)pCursor;
pCsr             142848 ext/sqlite3/libsqlite/sqlite3.c   fts3tokResetCursor(pCsr);
pCsr             142852 ext/sqlite3/libsqlite/sqlite3.c     pCsr->zInput = sqlite3_malloc(nByte+1);
pCsr             142853 ext/sqlite3/libsqlite/sqlite3.c     if( pCsr->zInput==0 ){
pCsr             142856 ext/sqlite3/libsqlite/sqlite3.c       memcpy(pCsr->zInput, zByte, nByte);
pCsr             142857 ext/sqlite3/libsqlite/sqlite3.c       pCsr->zInput[nByte] = 0;
pCsr             142858 ext/sqlite3/libsqlite/sqlite3.c       rc = pTab->pMod->xOpen(pTab->pTok, pCsr->zInput, nByte, &pCsr->pCsr);
pCsr             142860 ext/sqlite3/libsqlite/sqlite3.c         pCsr->pCsr->pTokenizer = pTab->pTok;
pCsr             142873 ext/sqlite3/libsqlite/sqlite3.c   Fts3tokCursor *pCsr = (Fts3tokCursor *)pCursor;
pCsr             142874 ext/sqlite3/libsqlite/sqlite3.c   return (pCsr->zToken==0);
pCsr             142885 ext/sqlite3/libsqlite/sqlite3.c   Fts3tokCursor *pCsr = (Fts3tokCursor *)pCursor;
pCsr             142890 ext/sqlite3/libsqlite/sqlite3.c       sqlite3_result_text(pCtx, pCsr->zInput, -1, SQLITE_TRANSIENT);
pCsr             142893 ext/sqlite3/libsqlite/sqlite3.c       sqlite3_result_text(pCtx, pCsr->zToken, pCsr->nToken, SQLITE_TRANSIENT);
pCsr             142896 ext/sqlite3/libsqlite/sqlite3.c       sqlite3_result_int(pCtx, pCsr->iStart);
pCsr             142899 ext/sqlite3/libsqlite/sqlite3.c       sqlite3_result_int(pCtx, pCsr->iEnd);
pCsr             142903 ext/sqlite3/libsqlite/sqlite3.c       sqlite3_result_int(pCtx, pCsr->iPos);
pCsr             142916 ext/sqlite3/libsqlite/sqlite3.c   Fts3tokCursor *pCsr = (Fts3tokCursor *)pCursor;
pCsr             142917 ext/sqlite3/libsqlite/sqlite3.c   *pRowid = (sqlite3_int64)pCsr->iRowid;
pCsr             143760 ext/sqlite3/libsqlite/sqlite3.c   sqlite3_tokenizer_cursor *pCsr;
pCsr             143774 ext/sqlite3/libsqlite/sqlite3.c   rc = sqlite3Fts3OpenTokenizer(pTokenizer, iLangid, zText, -1, &pCsr);
pCsr             143781 ext/sqlite3/libsqlite/sqlite3.c       && SQLITE_OK==(rc = xNext(pCsr, &zToken, &nToken, &iStart, &iEnd, &iPos))
pCsr             143810 ext/sqlite3/libsqlite/sqlite3.c   pModule->xClose(pCsr);
pCsr             144488 ext/sqlite3/libsqlite/sqlite3.c   Fts3Cursor *pCsr, 
pCsr             144492 ext/sqlite3/libsqlite/sqlite3.c   Fts3Table *p = (Fts3Table*)pCsr->base.pVtab;
pCsr             145655 ext/sqlite3/libsqlite/sqlite3.c   Fts3MultiSegReader *pCsr,       /* Cursor object */
pCsr             145660 ext/sqlite3/libsqlite/sqlite3.c   int nSeg = pCsr->nSegment;
pCsr             145668 ext/sqlite3/libsqlite/sqlite3.c   for(i=0; pCsr->bRestart==0 && i<pCsr->nSegment; i++){
pCsr             145670 ext/sqlite3/libsqlite/sqlite3.c     Fts3SegReader *pSeg = pCsr->apSegment[i];
pCsr             145680 ext/sqlite3/libsqlite/sqlite3.c   fts3SegReaderSort(pCsr->apSegment, nSeg, nSeg, fts3SegReaderCmp);
pCsr             145687 ext/sqlite3/libsqlite/sqlite3.c   Fts3MultiSegReader *pCsr,       /* Cursor object */
pCsr             145690 ext/sqlite3/libsqlite/sqlite3.c   pCsr->pFilter = pFilter;
pCsr             145691 ext/sqlite3/libsqlite/sqlite3.c   return fts3SegReaderStart(p, pCsr, pFilter->zTerm, pFilter->nTerm);
pCsr             145696 ext/sqlite3/libsqlite/sqlite3.c   Fts3MultiSegReader *pCsr,       /* Cursor object */
pCsr             145703 ext/sqlite3/libsqlite/sqlite3.c   int nSegment = pCsr->nSegment;
pCsr             145708 ext/sqlite3/libsqlite/sqlite3.c   assert( pCsr->pFilter==0 );
pCsr             145712 ext/sqlite3/libsqlite/sqlite3.c   rc = fts3SegReaderStart(p, pCsr, zTerm, nTerm);
pCsr             145717 ext/sqlite3/libsqlite/sqlite3.c     Fts3SegReader *pSeg = pCsr->apSegment[i];
pCsr             145722 ext/sqlite3/libsqlite/sqlite3.c   pCsr->nAdvance = i;
pCsr             145725 ext/sqlite3/libsqlite/sqlite3.c   for(i=0; i<pCsr->nAdvance; i++){
pCsr             145726 ext/sqlite3/libsqlite/sqlite3.c     rc = fts3SegReaderFirstDocid(p, pCsr->apSegment[i]);
pCsr             145729 ext/sqlite3/libsqlite/sqlite3.c   fts3SegReaderSort(pCsr->apSegment, i, i, xCmp);
pCsr             145732 ext/sqlite3/libsqlite/sqlite3.c   pCsr->iColFilter = iCol;
pCsr             145749 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3Fts3MsrIncrRestart(Fts3MultiSegReader *pCsr){
pCsr             145752 ext/sqlite3/libsqlite/sqlite3.c   assert( pCsr->zTerm==0 );
pCsr             145753 ext/sqlite3/libsqlite/sqlite3.c   assert( pCsr->nTerm==0 );
pCsr             145754 ext/sqlite3/libsqlite/sqlite3.c   assert( pCsr->aDoclist==0 );
pCsr             145755 ext/sqlite3/libsqlite/sqlite3.c   assert( pCsr->nDoclist==0 );
pCsr             145757 ext/sqlite3/libsqlite/sqlite3.c   pCsr->nAdvance = 0;
pCsr             145758 ext/sqlite3/libsqlite/sqlite3.c   pCsr->bRestart = 1;
pCsr             145759 ext/sqlite3/libsqlite/sqlite3.c   for(i=0; i<pCsr->nSegment; i++){
pCsr             145760 ext/sqlite3/libsqlite/sqlite3.c     pCsr->apSegment[i]->pOffsetList = 0;
pCsr             145761 ext/sqlite3/libsqlite/sqlite3.c     pCsr->apSegment[i]->nOffsetList = 0;
pCsr             145762 ext/sqlite3/libsqlite/sqlite3.c     pCsr->apSegment[i]->iDocid = 0;
pCsr             145771 ext/sqlite3/libsqlite/sqlite3.c   Fts3MultiSegReader *pCsr        /* Cursor object */
pCsr             145775 ext/sqlite3/libsqlite/sqlite3.c   int isIgnoreEmpty =  (pCsr->pFilter->flags & FTS3_SEGMENT_IGNORE_EMPTY);
pCsr             145776 ext/sqlite3/libsqlite/sqlite3.c   int isRequirePos =   (pCsr->pFilter->flags & FTS3_SEGMENT_REQUIRE_POS);
pCsr             145777 ext/sqlite3/libsqlite/sqlite3.c   int isColFilter =    (pCsr->pFilter->flags & FTS3_SEGMENT_COLUMN_FILTER);
pCsr             145778 ext/sqlite3/libsqlite/sqlite3.c   int isPrefix =       (pCsr->pFilter->flags & FTS3_SEGMENT_PREFIX);
pCsr             145779 ext/sqlite3/libsqlite/sqlite3.c   int isScan =         (pCsr->pFilter->flags & FTS3_SEGMENT_SCAN);
pCsr             145780 ext/sqlite3/libsqlite/sqlite3.c   int isFirst =        (pCsr->pFilter->flags & FTS3_SEGMENT_FIRST);
pCsr             145782 ext/sqlite3/libsqlite/sqlite3.c   Fts3SegReader **apSegment = pCsr->apSegment;
pCsr             145783 ext/sqlite3/libsqlite/sqlite3.c   int nSegment = pCsr->nSegment;
pCsr             145784 ext/sqlite3/libsqlite/sqlite3.c   Fts3SegFilter *pFilter = pCsr->pFilter;
pCsr             145789 ext/sqlite3/libsqlite/sqlite3.c   if( pCsr->nSegment==0 ) return SQLITE_OK;
pCsr             145798 ext/sqlite3/libsqlite/sqlite3.c     for(i=0; i<pCsr->nAdvance; i++){
pCsr             145807 ext/sqlite3/libsqlite/sqlite3.c     fts3SegReaderSort(apSegment, nSegment, pCsr->nAdvance, fts3SegReaderCmp);
pCsr             145808 ext/sqlite3/libsqlite/sqlite3.c     pCsr->nAdvance = 0;
pCsr             145814 ext/sqlite3/libsqlite/sqlite3.c     pCsr->nTerm = apSegment[0]->nTerm;
pCsr             145815 ext/sqlite3/libsqlite/sqlite3.c     pCsr->zTerm = apSegment[0]->zTerm;
pCsr             145825 ext/sqlite3/libsqlite/sqlite3.c       if( pCsr->nTerm<pFilter->nTerm 
pCsr             145826 ext/sqlite3/libsqlite/sqlite3.c        || (!isPrefix && pCsr->nTerm>pFilter->nTerm)
pCsr             145827 ext/sqlite3/libsqlite/sqlite3.c        || memcmp(pCsr->zTerm, pFilter->zTerm, pFilter->nTerm) 
pCsr             145836 ext/sqlite3/libsqlite/sqlite3.c         && apSegment[nMerge]->nTerm==pCsr->nTerm 
pCsr             145837 ext/sqlite3/libsqlite/sqlite3.c         && 0==memcmp(pCsr->zTerm, apSegment[nMerge]->zTerm, pCsr->nTerm)
pCsr             145848 ext/sqlite3/libsqlite/sqlite3.c       pCsr->nDoclist = apSegment[0]->nDoclist;
pCsr             145850 ext/sqlite3/libsqlite/sqlite3.c         rc = fts3MsrBufferData(pCsr, apSegment[0]->aDoclist, pCsr->nDoclist);
pCsr             145851 ext/sqlite3/libsqlite/sqlite3.c         pCsr->aDoclist = pCsr->aBuffer;
pCsr             145853 ext/sqlite3/libsqlite/sqlite3.c         pCsr->aDoclist = apSegment[0]->aDoclist;
pCsr             145902 ext/sqlite3/libsqlite/sqlite3.c           if( nDoclist+nByte>pCsr->nBuffer ){
pCsr             145904 ext/sqlite3/libsqlite/sqlite3.c             pCsr->nBuffer = (nDoclist+nByte)*2;
pCsr             145905 ext/sqlite3/libsqlite/sqlite3.c             aNew = sqlite3_realloc(pCsr->aBuffer, pCsr->nBuffer);
pCsr             145909 ext/sqlite3/libsqlite/sqlite3.c             pCsr->aBuffer = aNew;
pCsr             145913 ext/sqlite3/libsqlite/sqlite3.c             char *a = &pCsr->aBuffer[nDoclist];
pCsr             145922 ext/sqlite3/libsqlite/sqlite3.c             nDoclist += sqlite3Fts3PutVarint(&pCsr->aBuffer[nDoclist], iDelta);
pCsr             145925 ext/sqlite3/libsqlite/sqlite3.c               memcpy(&pCsr->aBuffer[nDoclist], pList, nList);
pCsr             145927 ext/sqlite3/libsqlite/sqlite3.c               pCsr->aBuffer[nDoclist++] = '\0';
pCsr             145935 ext/sqlite3/libsqlite/sqlite3.c         pCsr->aDoclist = pCsr->aBuffer;
pCsr             145936 ext/sqlite3/libsqlite/sqlite3.c         pCsr->nDoclist = nDoclist;
pCsr             145940 ext/sqlite3/libsqlite/sqlite3.c     pCsr->nAdvance = nMerge;
pCsr             145948 ext/sqlite3/libsqlite/sqlite3.c   Fts3MultiSegReader *pCsr       /* Cursor object */
pCsr             145950 ext/sqlite3/libsqlite/sqlite3.c   if( pCsr ){
pCsr             145952 ext/sqlite3/libsqlite/sqlite3.c     for(i=0; i<pCsr->nSegment; i++){
pCsr             145953 ext/sqlite3/libsqlite/sqlite3.c       sqlite3Fts3SegReaderFree(pCsr->apSegment[i]);
pCsr             145955 ext/sqlite3/libsqlite/sqlite3.c     sqlite3_free(pCsr->apSegment);
pCsr             145956 ext/sqlite3/libsqlite/sqlite3.c     sqlite3_free(pCsr->aBuffer);
pCsr             145958 ext/sqlite3/libsqlite/sqlite3.c     pCsr->nSegment = 0;
pCsr             145959 ext/sqlite3/libsqlite/sqlite3.c     pCsr->apSegment = 0;
pCsr             145960 ext/sqlite3/libsqlite/sqlite3.c     pCsr->aBuffer = 0;
pCsr             146523 ext/sqlite3/libsqlite/sqlite3.c   Fts3MultiSegReader *pCsr        /* Cursor object to populate */
pCsr             146530 ext/sqlite3/libsqlite/sqlite3.c   memset(pCsr, 0, sizeof(*pCsr));
pCsr             146532 ext/sqlite3/libsqlite/sqlite3.c   pCsr->apSegment = (Fts3SegReader **)sqlite3_malloc(nByte);
pCsr             146534 ext/sqlite3/libsqlite/sqlite3.c   if( pCsr->apSegment==0 ){
pCsr             146537 ext/sqlite3/libsqlite/sqlite3.c     memset(pCsr->apSegment, 0, nByte);
pCsr             146544 ext/sqlite3/libsqlite/sqlite3.c     assert( pCsr->nSegment==0 );
pCsr             146552 ext/sqlite3/libsqlite/sqlite3.c           &pCsr->apSegment[i]
pCsr             146554 ext/sqlite3/libsqlite/sqlite3.c       pCsr->nSegment++;
pCsr             146887 ext/sqlite3/libsqlite/sqlite3.c   Fts3MultiSegReader *pCsr        /* Cursor containing term and doclist */
pCsr             146889 ext/sqlite3/libsqlite/sqlite3.c   const char *zTerm = pCsr->zTerm;
pCsr             146890 ext/sqlite3/libsqlite/sqlite3.c   int nTerm = pCsr->nTerm;
pCsr             146891 ext/sqlite3/libsqlite/sqlite3.c   const char *aDoclist = pCsr->aDoclist;
pCsr             146892 ext/sqlite3/libsqlite/sqlite3.c   int nDoclist = pCsr->nDoclist;
pCsr             147297 ext/sqlite3/libsqlite/sqlite3.c   Fts3MultiSegReader *pCsr,       /* Cursor that data will be read from */
pCsr             147310 ext/sqlite3/libsqlite/sqlite3.c     sqlite3_bind_int64(pLeafEst, 2, pCsr->nSegment);
pCsr             147600 ext/sqlite3/libsqlite/sqlite3.c   Fts3MultiSegReader *pCsr,       /* Chomp all segments opened by this cursor */
pCsr             147607 ext/sqlite3/libsqlite/sqlite3.c   for(i=pCsr->nSegment-1; i>=0 && rc==SQLITE_OK; i--){
pCsr             147613 ext/sqlite3/libsqlite/sqlite3.c     for(j=0; ALWAYS(j<pCsr->nSegment); j++){
pCsr             147614 ext/sqlite3/libsqlite/sqlite3.c       pSeg = pCsr->apSegment[j];
pCsr             147617 ext/sqlite3/libsqlite/sqlite3.c     assert( j<pCsr->nSegment && pSeg->iIdx==i );
pCsr             147637 ext/sqlite3/libsqlite/sqlite3.c   if( rc==SQLITE_OK && nRem!=pCsr->nSegment ){
pCsr             147757 ext/sqlite3/libsqlite/sqlite3.c   Fts3MultiSegReader *pCsr;       /* Cursor used to read input data */
pCsr             147766 ext/sqlite3/libsqlite/sqlite3.c   const int nAlloc = sizeof(*pCsr) + sizeof(*pFilter) + sizeof(*pWriter);
pCsr             147770 ext/sqlite3/libsqlite/sqlite3.c   pCsr = (Fts3MultiSegReader *)&pFilter[1];
pCsr             147845 ext/sqlite3/libsqlite/sqlite3.c       rc = fts3IncrmergeCsr(p, iAbsLevel, nSeg, pCsr);
pCsr             147847 ext/sqlite3/libsqlite/sqlite3.c     if( SQLITE_OK==rc && pCsr->nSegment==nSeg
pCsr             147848 ext/sqlite3/libsqlite/sqlite3.c      && SQLITE_OK==(rc = sqlite3Fts3SegReaderStart(p, pCsr, pFilter))
pCsr             147849 ext/sqlite3/libsqlite/sqlite3.c      && SQLITE_ROW==(rc = sqlite3Fts3SegReaderStep(p, pCsr))
pCsr             147852 ext/sqlite3/libsqlite/sqlite3.c         const char *zKey = pCsr->zTerm;
pCsr             147853 ext/sqlite3/libsqlite/sqlite3.c         int nKey = pCsr->nTerm;
pCsr             147856 ext/sqlite3/libsqlite/sqlite3.c         rc = fts3IncrmergeWriter(p, iAbsLevel, iIdx, pCsr, pWriter);
pCsr             147862 ext/sqlite3/libsqlite/sqlite3.c           rc = fts3IncrmergeAppend(p, pWriter, pCsr);
pCsr             147863 ext/sqlite3/libsqlite/sqlite3.c           if( rc==SQLITE_OK ) rc = sqlite3Fts3SegReaderStep(p, pCsr);
pCsr             147870 ext/sqlite3/libsqlite/sqlite3.c           rc = fts3IncrmergeChomp(p, iAbsLevel, pCsr, &nSeg);
pCsr             147887 ext/sqlite3/libsqlite/sqlite3.c     sqlite3Fts3SegReaderFinish(pCsr);
pCsr             148050 ext/sqlite3/libsqlite/sqlite3.c       char *pCsr = csr.aDoclist;
pCsr             148051 ext/sqlite3/libsqlite/sqlite3.c       char *pEnd = &pCsr[csr.nDoclist];
pCsr             148057 ext/sqlite3/libsqlite/sqlite3.c       pCsr += sqlite3Fts3GetVarint(pCsr, &iDocid);
pCsr             148058 ext/sqlite3/libsqlite/sqlite3.c       while( pCsr<pEnd ){
pCsr             148060 ext/sqlite3/libsqlite/sqlite3.c         pCsr += sqlite3Fts3GetVarint(pCsr, &iVal);
pCsr             148061 ext/sqlite3/libsqlite/sqlite3.c         if( pCsr<pEnd ){
pCsr             148066 ext/sqlite3/libsqlite/sqlite3.c               pCsr += sqlite3Fts3GetVarint(pCsr, &iCol);
pCsr             148068 ext/sqlite3/libsqlite/sqlite3.c               pCsr += sqlite3Fts3GetVarint(pCsr, &iVal);
pCsr             148269 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE void sqlite3Fts3FreeDeferredDoclists(Fts3Cursor *pCsr){
pCsr             148271 ext/sqlite3/libsqlite/sqlite3.c   for(pDef=pCsr->pDeferred; pDef; pDef=pDef->pNext){
pCsr             148281 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE void sqlite3Fts3FreeDeferredTokens(Fts3Cursor *pCsr){
pCsr             148284 ext/sqlite3/libsqlite/sqlite3.c   for(pDef=pCsr->pDeferred; pDef; pDef=pNext){
pCsr             148289 ext/sqlite3/libsqlite/sqlite3.c   pCsr->pDeferred = 0;
pCsr             148300 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3Fts3CacheDeferredDoclists(Fts3Cursor *pCsr){
pCsr             148302 ext/sqlite3/libsqlite/sqlite3.c   if( pCsr->pDeferred ){
pCsr             148307 ext/sqlite3/libsqlite/sqlite3.c     Fts3Table *p = (Fts3Table *)pCsr->base.pVtab;
pCsr             148311 ext/sqlite3/libsqlite/sqlite3.c     assert( pCsr->isRequireSeek==0 );
pCsr             148312 ext/sqlite3/libsqlite/sqlite3.c     iDocid = sqlite3_column_int64(pCsr->pStmt, 0);
pCsr             148316 ext/sqlite3/libsqlite/sqlite3.c         const char *zText = (const char *)sqlite3_column_text(pCsr->pStmt, i+1);
pCsr             148319 ext/sqlite3/libsqlite/sqlite3.c         rc = sqlite3Fts3OpenTokenizer(pT, pCsr->iLangid, zText, -1, &pTC);
pCsr             148327 ext/sqlite3/libsqlite/sqlite3.c           for(pDef=pCsr->pDeferred; pDef && rc==SQLITE_OK; pDef=pDef->pNext){
pCsr             148343 ext/sqlite3/libsqlite/sqlite3.c     for(pDef=pCsr->pDeferred; pDef && rc==SQLITE_OK; pDef=pDef->pNext){
pCsr             148384 ext/sqlite3/libsqlite/sqlite3.c   Fts3Cursor *pCsr,               /* Fts3 table cursor */
pCsr             148395 ext/sqlite3/libsqlite/sqlite3.c   pDeferred->pNext = pCsr->pDeferred; 
pCsr             148397 ext/sqlite3/libsqlite/sqlite3.c   pCsr->pDeferred = pDeferred;
pCsr             148669 ext/sqlite3/libsqlite/sqlite3.c   Fts3Cursor *pCsr;               /* FTS3 Cursor */
pCsr             148683 ext/sqlite3/libsqlite/sqlite3.c   Fts3Cursor *pCsr;               /* Cursor snippet is being generated from */
pCsr             148834 ext/sqlite3/libsqlite/sqlite3.c   Fts3Cursor *pCsr,               /* Fts3 cursor for current query */
pCsr             148840 ext/sqlite3/libsqlite/sqlite3.c   sCtx.pCsr = pCsr;
pCsr             148841 ext/sqlite3/libsqlite/sqlite3.c   rc = fts3ExprIterate(pCsr->pExpr, fts3ExprLoadDoclistsCb, (void *)&sCtx);
pCsr             148949 ext/sqlite3/libsqlite/sqlite3.c       char *pCsr = pPhrase->pTail;
pCsr             148968 ext/sqlite3/libsqlite/sqlite3.c         if( 0==(*pCsr & 0x0FE) ) break;
pCsr             148969 ext/sqlite3/libsqlite/sqlite3.c         fts3GetDeltaPosition(&pCsr, &iCsr);
pCsr             148988 ext/sqlite3/libsqlite/sqlite3.c   char *pCsr;
pCsr             148992 ext/sqlite3/libsqlite/sqlite3.c   rc = sqlite3Fts3EvalPhrasePoslist(p->pCsr, pExpr, p->iCol, &pCsr);
pCsr             148993 ext/sqlite3/libsqlite/sqlite3.c   assert( rc==SQLITE_OK || pCsr==0 );
pCsr             148994 ext/sqlite3/libsqlite/sqlite3.c   if( pCsr ){
pCsr             148996 ext/sqlite3/libsqlite/sqlite3.c     pPhrase->pList = pCsr;
pCsr             148997 ext/sqlite3/libsqlite/sqlite3.c     fts3GetDeltaPosition(&pCsr, &iFirst);
pCsr             148999 ext/sqlite3/libsqlite/sqlite3.c     pPhrase->pHead = pCsr;
pCsr             149000 ext/sqlite3/libsqlite/sqlite3.c     pPhrase->pTail = pCsr;
pCsr             149029 ext/sqlite3/libsqlite/sqlite3.c   Fts3Cursor *pCsr,               /* Cursor to create snippet for */
pCsr             149048 ext/sqlite3/libsqlite/sqlite3.c   rc = fts3ExprLoadDoclists(pCsr, &nList, 0);
pCsr             149066 ext/sqlite3/libsqlite/sqlite3.c   sIter.pCsr = pCsr;
pCsr             149071 ext/sqlite3/libsqlite/sqlite3.c   rc = fts3ExprIterate(pCsr->pExpr, fts3SnippetFindPositions, (void *)&sIter);
pCsr             149230 ext/sqlite3/libsqlite/sqlite3.c   Fts3Cursor *pCsr,               /* FTS3 Cursor */
pCsr             149240 ext/sqlite3/libsqlite/sqlite3.c   Fts3Table *pTab = (Fts3Table *)pCsr->base.pVtab;
pCsr             149253 ext/sqlite3/libsqlite/sqlite3.c   zDoc = (const char *)sqlite3_column_text(pCsr->pStmt, iCol);
pCsr             149255 ext/sqlite3/libsqlite/sqlite3.c     if( sqlite3_column_type(pCsr->pStmt, iCol)!=SQLITE_NULL ){
pCsr             149260 ext/sqlite3/libsqlite/sqlite3.c   nDoc = sqlite3_column_bytes(pCsr->pStmt, iCol);
pCsr             149264 ext/sqlite3/libsqlite/sqlite3.c   rc = sqlite3Fts3OpenTokenizer(pTab->pTokenizer, pCsr->iLangid, zDoc,nDoc,&pC);
pCsr             149303 ext/sqlite3/libsqlite/sqlite3.c           pTab, pCsr->iLangid, nSnippet, &zDoc[iBegin], n, &iPos, &hlmask
pCsr             149426 ext/sqlite3/libsqlite/sqlite3.c     char *pCsr;
pCsr             149427 ext/sqlite3/libsqlite/sqlite3.c     rc = sqlite3Fts3EvalPhrasePoslist(p->pCursor, pExpr, i, &pCsr);
pCsr             149428 ext/sqlite3/libsqlite/sqlite3.c     if( pCsr ){
pCsr             149429 ext/sqlite3/libsqlite/sqlite3.c       p->aMatchinfo[iStart+i*3] = fts3ColumnlistCount(&pCsr);
pCsr             149621 ext/sqlite3/libsqlite/sqlite3.c static int fts3MatchinfoLcs(Fts3Cursor *pCsr, MatchInfo *pInfo){
pCsr             149630 ext/sqlite3/libsqlite/sqlite3.c   aIter = sqlite3_malloc(sizeof(LcsIterator) * pCsr->nPhrase);
pCsr             149632 ext/sqlite3/libsqlite/sqlite3.c   memset(aIter, 0, sizeof(LcsIterator) * pCsr->nPhrase);
pCsr             149633 ext/sqlite3/libsqlite/sqlite3.c   (void)fts3ExprIterate(pCsr->pExpr, fts3MatchinfoLcsCb, (void*)aIter);
pCsr             149648 ext/sqlite3/libsqlite/sqlite3.c       rc = sqlite3Fts3EvalPhrasePoslist(pCsr, pIt->pExpr, iCol, &pIt->pRead);
pCsr             149706 ext/sqlite3/libsqlite/sqlite3.c   Fts3Cursor *pCsr,               /* FTS3 cursor object */
pCsr             149713 ext/sqlite3/libsqlite/sqlite3.c   Fts3Table *pTab = (Fts3Table *)pCsr->base.pVtab;
pCsr             149756 ext/sqlite3/libsqlite/sqlite3.c         rc = sqlite3Fts3SelectDocsize(pTab, pCsr->iPrevId, &pSelectDocsize);
pCsr             149771 ext/sqlite3/libsqlite/sqlite3.c         rc = fts3ExprLoadDoclists(pCsr, 0, 0);
pCsr             149773 ext/sqlite3/libsqlite/sqlite3.c           rc = fts3MatchinfoLcs(pCsr, pInfo);
pCsr             149778 ext/sqlite3/libsqlite/sqlite3.c         (void)fts3ExprIterate(pCsr->pExpr, fts3ExprLHitsCb, (void*)pInfo);
pCsr             149784 ext/sqlite3/libsqlite/sqlite3.c         pExpr = pCsr->pExpr;
pCsr             149785 ext/sqlite3/libsqlite/sqlite3.c         rc = fts3ExprLoadDoclists(pCsr, 0, 0);
pCsr             149788 ext/sqlite3/libsqlite/sqlite3.c           if( pCsr->pDeferred ){
pCsr             149813 ext/sqlite3/libsqlite/sqlite3.c   Fts3Cursor *pCsr,               /* FTS3 Cursor object */
pCsr             149817 ext/sqlite3/libsqlite/sqlite3.c   Fts3Table *pTab = (Fts3Table *)pCsr->base.pVtab;
pCsr             149822 ext/sqlite3/libsqlite/sqlite3.c   sInfo.pCursor = pCsr;
pCsr             149828 ext/sqlite3/libsqlite/sqlite3.c   if( pCsr->zMatchinfo && strcmp(pCsr->zMatchinfo, zArg) ){
pCsr             149829 ext/sqlite3/libsqlite/sqlite3.c     assert( pCsr->aMatchinfo );
pCsr             149830 ext/sqlite3/libsqlite/sqlite3.c     sqlite3_free(pCsr->aMatchinfo);
pCsr             149831 ext/sqlite3/libsqlite/sqlite3.c     pCsr->zMatchinfo = 0;
pCsr             149832 ext/sqlite3/libsqlite/sqlite3.c     pCsr->aMatchinfo = 0;
pCsr             149840 ext/sqlite3/libsqlite/sqlite3.c   if( pCsr->aMatchinfo==0 ){
pCsr             149846 ext/sqlite3/libsqlite/sqlite3.c     pCsr->nPhrase = fts3ExprPhraseCount(pCsr->pExpr);
pCsr             149847 ext/sqlite3/libsqlite/sqlite3.c     sInfo.nPhrase = pCsr->nPhrase;
pCsr             149856 ext/sqlite3/libsqlite/sqlite3.c     pCsr->aMatchinfo = (u32 *)sqlite3_malloc(sizeof(u32)*nMatchinfo + nArg + 1);
pCsr             149857 ext/sqlite3/libsqlite/sqlite3.c     if( !pCsr->aMatchinfo ) return SQLITE_NOMEM;
pCsr             149859 ext/sqlite3/libsqlite/sqlite3.c     pCsr->zMatchinfo = (char *)&pCsr->aMatchinfo[nMatchinfo];
pCsr             149860 ext/sqlite3/libsqlite/sqlite3.c     pCsr->nMatchinfo = nMatchinfo;
pCsr             149861 ext/sqlite3/libsqlite/sqlite3.c     memcpy(pCsr->zMatchinfo, zArg, nArg+1);
pCsr             149862 ext/sqlite3/libsqlite/sqlite3.c     memset(pCsr->aMatchinfo, 0, sizeof(u32)*nMatchinfo);
pCsr             149863 ext/sqlite3/libsqlite/sqlite3.c     pCsr->isMatchinfoNeeded = 1;
pCsr             149867 ext/sqlite3/libsqlite/sqlite3.c   sInfo.aMatchinfo = pCsr->aMatchinfo;
pCsr             149868 ext/sqlite3/libsqlite/sqlite3.c   sInfo.nPhrase = pCsr->nPhrase;
pCsr             149869 ext/sqlite3/libsqlite/sqlite3.c   if( pCsr->isMatchinfoNeeded ){
pCsr             149870 ext/sqlite3/libsqlite/sqlite3.c     rc = fts3MatchinfoValues(pCsr, bGlobal, &sInfo, zArg);
pCsr             149871 ext/sqlite3/libsqlite/sqlite3.c     pCsr->isMatchinfoNeeded = 0;
pCsr             149882 ext/sqlite3/libsqlite/sqlite3.c   Fts3Cursor *pCsr,               /* Cursor object */
pCsr             149889 ext/sqlite3/libsqlite/sqlite3.c   Fts3Table *pTab = (Fts3Table *)pCsr->base.pVtab;
pCsr             149906 ext/sqlite3/libsqlite/sqlite3.c   if( !pCsr->pExpr ){
pCsr             149940 ext/sqlite3/libsqlite/sqlite3.c         rc = fts3BestSnippet(nFToken, pCsr, iRead, mCovered, &mSeen, &sF, &iS);
pCsr             149963 ext/sqlite3/libsqlite/sqlite3.c     rc = fts3SnippetText(pCsr, &aSnippet[i], 
pCsr             149989 ext/sqlite3/libsqlite/sqlite3.c   Fts3Cursor *pCsr;
pCsr             150008 ext/sqlite3/libsqlite/sqlite3.c   rc = sqlite3Fts3EvalPhrasePoslist(p->pCsr, pExpr, p->iCol, &pList);
pCsr             150030 ext/sqlite3/libsqlite/sqlite3.c   Fts3Cursor *pCsr                /* Cursor object */
pCsr             150032 ext/sqlite3/libsqlite/sqlite3.c   Fts3Table *pTab = (Fts3Table *)pCsr->base.pVtab;
pCsr             150040 ext/sqlite3/libsqlite/sqlite3.c   if( !pCsr->pExpr ){
pCsr             150046 ext/sqlite3/libsqlite/sqlite3.c   assert( pCsr->isRequireSeek==0 );
pCsr             150049 ext/sqlite3/libsqlite/sqlite3.c   rc = fts3ExprLoadDoclists(pCsr, 0, &nToken);
pCsr             150058 ext/sqlite3/libsqlite/sqlite3.c   sCtx.iDocid = pCsr->iPrevId;
pCsr             150059 ext/sqlite3/libsqlite/sqlite3.c   sCtx.pCsr = pCsr;
pCsr             150080 ext/sqlite3/libsqlite/sqlite3.c     (void)fts3ExprIterate(pCsr->pExpr, fts3ExprTermOffsetInit, (void *)&sCtx);
pCsr             150088 ext/sqlite3/libsqlite/sqlite3.c     zDoc = (const char *)sqlite3_column_text(pCsr->pStmt, iCol+1);
pCsr             150089 ext/sqlite3/libsqlite/sqlite3.c     nDoc = sqlite3_column_bytes(pCsr->pStmt, iCol+1);
pCsr             150091 ext/sqlite3/libsqlite/sqlite3.c       if( sqlite3_column_type(pCsr->pStmt, iCol+1)==SQLITE_NULL ){
pCsr             150099 ext/sqlite3/libsqlite/sqlite3.c     rc = sqlite3Fts3OpenTokenizer(pTab->pTokenizer, pCsr->iLangid,
pCsr             150168 ext/sqlite3/libsqlite/sqlite3.c   Fts3Cursor *pCsr,               /* FTS3 table cursor */
pCsr             150171 ext/sqlite3/libsqlite/sqlite3.c   Fts3Table *pTab = (Fts3Table *)pCsr->base.pVtab;
pCsr             150190 ext/sqlite3/libsqlite/sqlite3.c   if( !pCsr->pExpr ){
pCsr             150196 ext/sqlite3/libsqlite/sqlite3.c   rc = fts3GetMatchinfo(pCsr, zFormat);
pCsr             150202 ext/sqlite3/libsqlite/sqlite3.c     int n = pCsr->nMatchinfo * sizeof(u32);
pCsr             150203 ext/sqlite3/libsqlite/sqlite3.c     sqlite3_result_blob(pContext, pCsr->aMatchinfo, n, SQLITE_TRANSIENT);
pCsr             150482 ext/sqlite3/libsqlite/sqlite3.c   unicode_cursor *pCsr;
pCsr             150484 ext/sqlite3/libsqlite/sqlite3.c   pCsr = (unicode_cursor *)sqlite3_malloc(sizeof(unicode_cursor));
pCsr             150485 ext/sqlite3/libsqlite/sqlite3.c   if( pCsr==0 ){
pCsr             150488 ext/sqlite3/libsqlite/sqlite3.c   memset(pCsr, 0, sizeof(unicode_cursor));
pCsr             150490 ext/sqlite3/libsqlite/sqlite3.c   pCsr->aInput = (const unsigned char *)aInput;
pCsr             150492 ext/sqlite3/libsqlite/sqlite3.c     pCsr->nInput = 0;
pCsr             150494 ext/sqlite3/libsqlite/sqlite3.c     pCsr->nInput = (int)strlen(aInput);
pCsr             150496 ext/sqlite3/libsqlite/sqlite3.c     pCsr->nInput = nInput;
pCsr             150499 ext/sqlite3/libsqlite/sqlite3.c   *pp = &pCsr->base;
pCsr             150509 ext/sqlite3/libsqlite/sqlite3.c   unicode_cursor *pCsr = (unicode_cursor *) pCursor;
pCsr             150510 ext/sqlite3/libsqlite/sqlite3.c   sqlite3_free(pCsr->zToken);
pCsr             150511 ext/sqlite3/libsqlite/sqlite3.c   sqlite3_free(pCsr);
pCsr             150527 ext/sqlite3/libsqlite/sqlite3.c   unicode_cursor *pCsr = (unicode_cursor *)pC;
pCsr             150528 ext/sqlite3/libsqlite/sqlite3.c   unicode_tokenizer *p = ((unicode_tokenizer *)pCsr->base.pTokenizer);
pCsr             150531 ext/sqlite3/libsqlite/sqlite3.c   const unsigned char *z = &pCsr->aInput[pCsr->iOff];
pCsr             150534 ext/sqlite3/libsqlite/sqlite3.c   const unsigned char *zTerm = &pCsr->aInput[pCsr->nInput];
pCsr             150546 ext/sqlite3/libsqlite/sqlite3.c   zOut = pCsr->zToken;
pCsr             150551 ext/sqlite3/libsqlite/sqlite3.c     if( (zOut-pCsr->zToken)>=(pCsr->nAlloc-4) ){
pCsr             150552 ext/sqlite3/libsqlite/sqlite3.c       char *zNew = sqlite3_realloc(pCsr->zToken, pCsr->nAlloc+64);
pCsr             150554 ext/sqlite3/libsqlite/sqlite3.c       zOut = &zNew[zOut - pCsr->zToken];
pCsr             150555 ext/sqlite3/libsqlite/sqlite3.c       pCsr->zToken = zNew;
pCsr             150556 ext/sqlite3/libsqlite/sqlite3.c       pCsr->nAlloc += 64;
pCsr             150574 ext/sqlite3/libsqlite/sqlite3.c   pCsr->iOff = (int)(z - pCsr->aInput);
pCsr             150575 ext/sqlite3/libsqlite/sqlite3.c   *paToken = pCsr->zToken;
pCsr             150576 ext/sqlite3/libsqlite/sqlite3.c   *pnToken = (int)(zOut - pCsr->zToken);
pCsr             150577 ext/sqlite3/libsqlite/sqlite3.c   *piStart = (int)(zStart - pCsr->aInput);
pCsr             150578 ext/sqlite3/libsqlite/sqlite3.c   *piEnd = (int)(zEnd - pCsr->aInput);
pCsr             150579 ext/sqlite3/libsqlite/sqlite3.c   *piPos = pCsr->iToken++;
pCsr             151818 ext/sqlite3/libsqlite/sqlite3.c   RtreeCursor *pCsr;
pCsr             151820 ext/sqlite3/libsqlite/sqlite3.c   pCsr = (RtreeCursor *)sqlite3_malloc(sizeof(RtreeCursor));
pCsr             151821 ext/sqlite3/libsqlite/sqlite3.c   if( pCsr ){
pCsr             151822 ext/sqlite3/libsqlite/sqlite3.c     memset(pCsr, 0, sizeof(RtreeCursor));
pCsr             151823 ext/sqlite3/libsqlite/sqlite3.c     pCsr->base.pVtab = pVTab;
pCsr             151826 ext/sqlite3/libsqlite/sqlite3.c   *ppCursor = (sqlite3_vtab_cursor *)pCsr;
pCsr             151835 ext/sqlite3/libsqlite/sqlite3.c static void freeCursorConstraints(RtreeCursor *pCsr){
pCsr             151836 ext/sqlite3/libsqlite/sqlite3.c   if( pCsr->aConstraint ){
pCsr             151838 ext/sqlite3/libsqlite/sqlite3.c     for(i=0; i<pCsr->nConstraint; i++){
pCsr             151839 ext/sqlite3/libsqlite/sqlite3.c       sqlite3_rtree_query_info *pInfo = pCsr->aConstraint[i].pInfo;
pCsr             151845 ext/sqlite3/libsqlite/sqlite3.c     sqlite3_free(pCsr->aConstraint);
pCsr             151846 ext/sqlite3/libsqlite/sqlite3.c     pCsr->aConstraint = 0;
pCsr             151856 ext/sqlite3/libsqlite/sqlite3.c   RtreeCursor *pCsr = (RtreeCursor *)cur;
pCsr             151857 ext/sqlite3/libsqlite/sqlite3.c   freeCursorConstraints(pCsr);
pCsr             151858 ext/sqlite3/libsqlite/sqlite3.c   sqlite3_free(pCsr->aPoint);
pCsr             151859 ext/sqlite3/libsqlite/sqlite3.c   for(ii=0; ii<RTREE_CACHE_SZ; ii++) nodeRelease(pRtree, pCsr->aNode[ii]);
pCsr             151860 ext/sqlite3/libsqlite/sqlite3.c   sqlite3_free(pCsr);
pCsr             151871 ext/sqlite3/libsqlite/sqlite3.c   RtreeCursor *pCsr = (RtreeCursor *)cur;
pCsr             151872 ext/sqlite3/libsqlite/sqlite3.c   return pCsr->atEOF;
pCsr             152356 ext/sqlite3/libsqlite/sqlite3.c   RtreeCursor *pCsr = (RtreeCursor *)pVtabCursor;
pCsr             152360 ext/sqlite3/libsqlite/sqlite3.c   RTREE_QUEUE_TRACE(pCsr, "POP-Nx:");
pCsr             152361 ext/sqlite3/libsqlite/sqlite3.c   rtreeSearchPointPop(pCsr);
pCsr             152362 ext/sqlite3/libsqlite/sqlite3.c   rc = rtreeStepToLeaf(pCsr);
pCsr             152370 ext/sqlite3/libsqlite/sqlite3.c   RtreeCursor *pCsr = (RtreeCursor *)pVtabCursor;
pCsr             152371 ext/sqlite3/libsqlite/sqlite3.c   RtreeSearchPoint *p = rtreeSearchPointFirst(pCsr);
pCsr             152373 ext/sqlite3/libsqlite/sqlite3.c   RtreeNode *pNode = rtreeNodeOfFirstSearchPoint(pCsr, &rc);
pCsr             152375 ext/sqlite3/libsqlite/sqlite3.c     *pRowid = nodeGetRowid(RTREE_OF_CURSOR(pCsr), pNode, p->iCell);
pCsr             152385 ext/sqlite3/libsqlite/sqlite3.c   RtreeCursor *pCsr = (RtreeCursor *)cur;
pCsr             152386 ext/sqlite3/libsqlite/sqlite3.c   RtreeSearchPoint *p = rtreeSearchPointFirst(pCsr);
pCsr             152389 ext/sqlite3/libsqlite/sqlite3.c   RtreeNode *pNode = rtreeNodeOfFirstSearchPoint(pCsr, &rc);
pCsr             152496 ext/sqlite3/libsqlite/sqlite3.c   RtreeCursor *pCsr = (RtreeCursor *)pVtabCursor;
pCsr             152505 ext/sqlite3/libsqlite/sqlite3.c   freeCursorConstraints(pCsr);
pCsr             152506 ext/sqlite3/libsqlite/sqlite3.c   sqlite3_free(pCsr->aPoint);
pCsr             152507 ext/sqlite3/libsqlite/sqlite3.c   memset(pCsr, 0, sizeof(RtreeCursor));
pCsr             152508 ext/sqlite3/libsqlite/sqlite3.c   pCsr->base.pVtab = (sqlite3_vtab*)pRtree;
pCsr             152510 ext/sqlite3/libsqlite/sqlite3.c   pCsr->iStrategy = idxNum;
pCsr             152519 ext/sqlite3/libsqlite/sqlite3.c       p = rtreeSearchPointNew(pCsr, RTREE_ZERO, 0);
pCsr             152521 ext/sqlite3/libsqlite/sqlite3.c       pCsr->aNode[0] = pLeaf;
pCsr             152526 ext/sqlite3/libsqlite/sqlite3.c       RTREE_QUEUE_TRACE(pCsr, "PUSH-F1:");
pCsr             152528 ext/sqlite3/libsqlite/sqlite3.c       pCsr->atEOF = 1;
pCsr             152536 ext/sqlite3/libsqlite/sqlite3.c       pCsr->aConstraint = sqlite3_malloc(sizeof(RtreeConstraint)*argc);
pCsr             152537 ext/sqlite3/libsqlite/sqlite3.c       pCsr->nConstraint = argc;
pCsr             152538 ext/sqlite3/libsqlite/sqlite3.c       if( !pCsr->aConstraint ){
pCsr             152541 ext/sqlite3/libsqlite/sqlite3.c         memset(pCsr->aConstraint, 0, sizeof(RtreeConstraint)*argc);
pCsr             152542 ext/sqlite3/libsqlite/sqlite3.c         memset(pCsr->anQueue, 0, sizeof(u32)*(pRtree->iDepth + 1));
pCsr             152546 ext/sqlite3/libsqlite/sqlite3.c           RtreeConstraint *p = &pCsr->aConstraint[ii];
pCsr             152559 ext/sqlite3/libsqlite/sqlite3.c             p->pInfo->anQueue = pCsr->anQueue;
pCsr             152573 ext/sqlite3/libsqlite/sqlite3.c       pNew = rtreeSearchPointNew(pCsr, RTREE_ZERO, pRtree->iDepth+1);
pCsr             152578 ext/sqlite3/libsqlite/sqlite3.c       assert( pCsr->bPoint==1 );
pCsr             152579 ext/sqlite3/libsqlite/sqlite3.c       pCsr->aNode[0] = pRoot;
pCsr             152581 ext/sqlite3/libsqlite/sqlite3.c       RTREE_QUEUE_TRACE(pCsr, "PUSH-Fm:");
pCsr             152582 ext/sqlite3/libsqlite/sqlite3.c       rc = rtreeStepToLeaf(pCsr);
pCsr             155053 ext/sqlite3/libsqlite/sqlite3.c   IcuCursor *pCsr;
pCsr             155072 ext/sqlite3/libsqlite/sqlite3.c   pCsr = (IcuCursor *)sqlite3_malloc(
pCsr             155077 ext/sqlite3/libsqlite/sqlite3.c   if( !pCsr ){
pCsr             155080 ext/sqlite3/libsqlite/sqlite3.c   memset(pCsr, 0, sizeof(IcuCursor));
pCsr             155081 ext/sqlite3/libsqlite/sqlite3.c   pCsr->aChar = (UChar *)&pCsr[1];
pCsr             155082 ext/sqlite3/libsqlite/sqlite3.c   pCsr->aOffset = (int *)&pCsr->aChar[(nChar+3)&~3];
pCsr             155084 ext/sqlite3/libsqlite/sqlite3.c   pCsr->aOffset[iOut] = iInput;
pCsr             155089 ext/sqlite3/libsqlite/sqlite3.c     U16_APPEND(pCsr->aChar, iOut, nChar, c, isError);
pCsr             155091 ext/sqlite3/libsqlite/sqlite3.c       sqlite3_free(pCsr);
pCsr             155094 ext/sqlite3/libsqlite/sqlite3.c     pCsr->aOffset[iOut] = iInput;
pCsr             155103 ext/sqlite3/libsqlite/sqlite3.c   pCsr->pIter = ubrk_open(UBRK_WORD, p->zLocale, pCsr->aChar, iOut, &status);
pCsr             155105 ext/sqlite3/libsqlite/sqlite3.c     sqlite3_free(pCsr);
pCsr             155108 ext/sqlite3/libsqlite/sqlite3.c   pCsr->nChar = iOut;
pCsr             155110 ext/sqlite3/libsqlite/sqlite3.c   ubrk_first(pCsr->pIter);
pCsr             155111 ext/sqlite3/libsqlite/sqlite3.c   *ppCursor = (sqlite3_tokenizer_cursor *)pCsr;
pCsr             155119 ext/sqlite3/libsqlite/sqlite3.c   IcuCursor *pCsr = (IcuCursor *)pCursor;
pCsr             155120 ext/sqlite3/libsqlite/sqlite3.c   ubrk_close(pCsr->pIter);
pCsr             155121 ext/sqlite3/libsqlite/sqlite3.c   sqlite3_free(pCsr->zBuffer);
pCsr             155122 ext/sqlite3/libsqlite/sqlite3.c   sqlite3_free(pCsr);
pCsr             155137 ext/sqlite3/libsqlite/sqlite3.c   IcuCursor *pCsr = (IcuCursor *)pCursor;
pCsr             155146 ext/sqlite3/libsqlite/sqlite3.c     iStart = ubrk_current(pCsr->pIter);
pCsr             155147 ext/sqlite3/libsqlite/sqlite3.c     iEnd = ubrk_next(pCsr->pIter);
pCsr             155154 ext/sqlite3/libsqlite/sqlite3.c       U16_NEXT(pCsr->aChar, iWhite, pCsr->nChar, c);
pCsr             155167 ext/sqlite3/libsqlite/sqlite3.c       char *zNew = sqlite3_realloc(pCsr->zBuffer, nByte);
pCsr             155171 ext/sqlite3/libsqlite/sqlite3.c       pCsr->zBuffer = zNew;
pCsr             155172 ext/sqlite3/libsqlite/sqlite3.c       pCsr->nBuffer = nByte;
pCsr             155176 ext/sqlite3/libsqlite/sqlite3.c         pCsr->zBuffer, pCsr->nBuffer, &nByte,    /* Output vars */
pCsr             155177 ext/sqlite3/libsqlite/sqlite3.c         &pCsr->aChar[iStart], iEnd-iStart,       /* Input vars */
pCsr             155180 ext/sqlite3/libsqlite/sqlite3.c   } while( nByte>pCsr->nBuffer );
pCsr             155182 ext/sqlite3/libsqlite/sqlite3.c   *ppToken = pCsr->zBuffer;
pCsr             155184 ext/sqlite3/libsqlite/sqlite3.c   *piStartOffset = pCsr->aOffset[iStart];
pCsr             155185 ext/sqlite3/libsqlite/sqlite3.c   *piEndOffset = pCsr->aOffset[iEnd];
pCsr             155186 ext/sqlite3/libsqlite/sqlite3.c   *piPosition = pCsr->iToken++;
pCsr             155428 ext/sqlite3/libsqlite/sqlite3.c   StatCursor *pCsr;
pCsr             155431 ext/sqlite3/libsqlite/sqlite3.c   pCsr = (StatCursor *)sqlite3_malloc64(sizeof(StatCursor));
pCsr             155432 ext/sqlite3/libsqlite/sqlite3.c   if( pCsr==0 ){
pCsr             155436 ext/sqlite3/libsqlite/sqlite3.c     memset(pCsr, 0, sizeof(StatCursor));
pCsr             155437 ext/sqlite3/libsqlite/sqlite3.c     pCsr->base.pVtab = pVTab;
pCsr             155448 ext/sqlite3/libsqlite/sqlite3.c       rc = sqlite3_prepare_v2(pTab->db, zSql, -1, &pCsr->pStmt, 0);
pCsr             155452 ext/sqlite3/libsqlite/sqlite3.c       sqlite3_free(pCsr);
pCsr             155453 ext/sqlite3/libsqlite/sqlite3.c       pCsr = 0;
pCsr             155457 ext/sqlite3/libsqlite/sqlite3.c   *ppCursor = (sqlite3_vtab_cursor *)pCsr;
pCsr             155474 ext/sqlite3/libsqlite/sqlite3.c static void statResetCsr(StatCursor *pCsr){
pCsr             155476 ext/sqlite3/libsqlite/sqlite3.c   sqlite3_reset(pCsr->pStmt);
pCsr             155477 ext/sqlite3/libsqlite/sqlite3.c   for(i=0; i<ArraySize(pCsr->aPage); i++){
pCsr             155478 ext/sqlite3/libsqlite/sqlite3.c     statClearPage(&pCsr->aPage[i]);
pCsr             155480 ext/sqlite3/libsqlite/sqlite3.c   pCsr->iPage = 0;
pCsr             155481 ext/sqlite3/libsqlite/sqlite3.c   sqlite3_free(pCsr->zPath);
pCsr             155482 ext/sqlite3/libsqlite/sqlite3.c   pCsr->zPath = 0;
pCsr             155489 ext/sqlite3/libsqlite/sqlite3.c   StatCursor *pCsr = (StatCursor *)pCursor;
pCsr             155490 ext/sqlite3/libsqlite/sqlite3.c   statResetCsr(pCsr);
pCsr             155491 ext/sqlite3/libsqlite/sqlite3.c   sqlite3_finalize(pCsr->pStmt);
pCsr             155492 ext/sqlite3/libsqlite/sqlite3.c   sqlite3_free(pCsr);
pCsr             155614 ext/sqlite3/libsqlite/sqlite3.c static void statSizeAndOffset(StatCursor *pCsr){
pCsr             155615 ext/sqlite3/libsqlite/sqlite3.c   StatTable *pTab = (StatTable *)((sqlite3_vtab_cursor *)pCsr)->pVtab;
pCsr             155622 ext/sqlite3/libsqlite/sqlite3.c   pCsr->szPage = sqlite3BtreeGetPageSize(pBt);
pCsr             155623 ext/sqlite3/libsqlite/sqlite3.c   pCsr->iOffset = (i64)pCsr->szPage * (pCsr->iPageno - 1);
pCsr             155629 ext/sqlite3/libsqlite/sqlite3.c   x[0] = pCsr->iPageno;
pCsr             155631 ext/sqlite3/libsqlite/sqlite3.c     pCsr->iOffset = x[0];
pCsr             155632 ext/sqlite3/libsqlite/sqlite3.c     pCsr->szPage = (int)x[1];
pCsr             155643 ext/sqlite3/libsqlite/sqlite3.c   StatCursor *pCsr = (StatCursor *)pCursor;
pCsr             155648 ext/sqlite3/libsqlite/sqlite3.c   sqlite3_free(pCsr->zPath);
pCsr             155649 ext/sqlite3/libsqlite/sqlite3.c   pCsr->zPath = 0;
pCsr             155652 ext/sqlite3/libsqlite/sqlite3.c   if( pCsr->aPage[0].pPg==0 ){
pCsr             155653 ext/sqlite3/libsqlite/sqlite3.c     rc = sqlite3_step(pCsr->pStmt);
pCsr             155656 ext/sqlite3/libsqlite/sqlite3.c       u32 iRoot = (u32)sqlite3_column_int64(pCsr->pStmt, 1);
pCsr             155659 ext/sqlite3/libsqlite/sqlite3.c         pCsr->isEof = 1;
pCsr             155660 ext/sqlite3/libsqlite/sqlite3.c         return sqlite3_reset(pCsr->pStmt);
pCsr             155662 ext/sqlite3/libsqlite/sqlite3.c       rc = sqlite3PagerGet(pPager, iRoot, &pCsr->aPage[0].pPg);
pCsr             155663 ext/sqlite3/libsqlite/sqlite3.c       pCsr->aPage[0].iPgno = iRoot;
pCsr             155664 ext/sqlite3/libsqlite/sqlite3.c       pCsr->aPage[0].iCell = 0;
pCsr             155665 ext/sqlite3/libsqlite/sqlite3.c       pCsr->aPage[0].zPath = z = sqlite3_mprintf("/");
pCsr             155666 ext/sqlite3/libsqlite/sqlite3.c       pCsr->iPage = 0;
pCsr             155669 ext/sqlite3/libsqlite/sqlite3.c       pCsr->isEof = 1;
pCsr             155670 ext/sqlite3/libsqlite/sqlite3.c       return sqlite3_reset(pCsr->pStmt);
pCsr             155675 ext/sqlite3/libsqlite/sqlite3.c     StatPage *p = &pCsr->aPage[pCsr->iPage];
pCsr             155685 ext/sqlite3/libsqlite/sqlite3.c         pCsr->zName = (char *)sqlite3_column_text(pCsr->pStmt, 0);
pCsr             155686 ext/sqlite3/libsqlite/sqlite3.c         pCsr->iPageno = pCell->aOvfl[pCell->iOvfl];
pCsr             155687 ext/sqlite3/libsqlite/sqlite3.c         pCsr->zPagetype = "overflow";
pCsr             155688 ext/sqlite3/libsqlite/sqlite3.c         pCsr->nCell = 0;
pCsr             155689 ext/sqlite3/libsqlite/sqlite3.c         pCsr->nMxPayload = 0;
pCsr             155690 ext/sqlite3/libsqlite/sqlite3.c         pCsr->zPath = z = sqlite3_mprintf(
pCsr             155694 ext/sqlite3/libsqlite/sqlite3.c           pCsr->nUnused = 0;
pCsr             155695 ext/sqlite3/libsqlite/sqlite3.c           pCsr->nPayload = nUsable - 4;
pCsr             155697 ext/sqlite3/libsqlite/sqlite3.c           pCsr->nPayload = pCell->nLastOvfl;
pCsr             155698 ext/sqlite3/libsqlite/sqlite3.c           pCsr->nUnused = nUsable - 4 - pCsr->nPayload;
pCsr             155701 ext/sqlite3/libsqlite/sqlite3.c         statSizeAndOffset(pCsr);
pCsr             155710 ext/sqlite3/libsqlite/sqlite3.c       if( pCsr->iPage==0 ) return statNext(pCursor);
pCsr             155711 ext/sqlite3/libsqlite/sqlite3.c       pCsr->iPage--;
pCsr             155714 ext/sqlite3/libsqlite/sqlite3.c     pCsr->iPage++;
pCsr             155715 ext/sqlite3/libsqlite/sqlite3.c     assert( p==&pCsr->aPage[pCsr->iPage-1] );
pCsr             155735 ext/sqlite3/libsqlite/sqlite3.c     StatPage *p = &pCsr->aPage[pCsr->iPage];
pCsr             155736 ext/sqlite3/libsqlite/sqlite3.c     pCsr->zName = (char *)sqlite3_column_text(pCsr->pStmt, 0);
pCsr             155737 ext/sqlite3/libsqlite/sqlite3.c     pCsr->iPageno = p->iPgno;
pCsr             155741 ext/sqlite3/libsqlite/sqlite3.c       statSizeAndOffset(pCsr);
pCsr             155746 ext/sqlite3/libsqlite/sqlite3.c           pCsr->zPagetype = "internal";
pCsr             155750 ext/sqlite3/libsqlite/sqlite3.c           pCsr->zPagetype = "leaf";
pCsr             155753 ext/sqlite3/libsqlite/sqlite3.c           pCsr->zPagetype = "corrupted";
pCsr             155756 ext/sqlite3/libsqlite/sqlite3.c       pCsr->nCell = p->nCell;
pCsr             155757 ext/sqlite3/libsqlite/sqlite3.c       pCsr->nUnused = p->nUnused;
pCsr             155758 ext/sqlite3/libsqlite/sqlite3.c       pCsr->nMxPayload = p->nMxPayload;
pCsr             155759 ext/sqlite3/libsqlite/sqlite3.c       pCsr->zPath = z = sqlite3_mprintf("%s", p->zPath);
pCsr             155765 ext/sqlite3/libsqlite/sqlite3.c       pCsr->nPayload = nPayload;
pCsr             155773 ext/sqlite3/libsqlite/sqlite3.c   StatCursor *pCsr = (StatCursor *)pCursor;
pCsr             155774 ext/sqlite3/libsqlite/sqlite3.c   return pCsr->isEof;
pCsr             155782 ext/sqlite3/libsqlite/sqlite3.c   StatCursor *pCsr = (StatCursor *)pCursor;
pCsr             155784 ext/sqlite3/libsqlite/sqlite3.c   statResetCsr(pCsr);
pCsr             155793 ext/sqlite3/libsqlite/sqlite3.c   StatCursor *pCsr = (StatCursor *)pCursor;
pCsr             155796 ext/sqlite3/libsqlite/sqlite3.c       sqlite3_result_text(ctx, pCsr->zName, -1, SQLITE_TRANSIENT);
pCsr             155799 ext/sqlite3/libsqlite/sqlite3.c       sqlite3_result_text(ctx, pCsr->zPath, -1, SQLITE_TRANSIENT);
pCsr             155802 ext/sqlite3/libsqlite/sqlite3.c       sqlite3_result_int64(ctx, pCsr->iPageno);
pCsr             155805 ext/sqlite3/libsqlite/sqlite3.c       sqlite3_result_text(ctx, pCsr->zPagetype, -1, SQLITE_STATIC);
pCsr             155808 ext/sqlite3/libsqlite/sqlite3.c       sqlite3_result_int(ctx, pCsr->nCell);
pCsr             155811 ext/sqlite3/libsqlite/sqlite3.c       sqlite3_result_int(ctx, pCsr->nPayload);
pCsr             155814 ext/sqlite3/libsqlite/sqlite3.c       sqlite3_result_int(ctx, pCsr->nUnused);
pCsr             155817 ext/sqlite3/libsqlite/sqlite3.c       sqlite3_result_int(ctx, pCsr->nMxPayload);
pCsr             155820 ext/sqlite3/libsqlite/sqlite3.c       sqlite3_result_int64(ctx, pCsr->iOffset);
pCsr             155824 ext/sqlite3/libsqlite/sqlite3.c       sqlite3_result_int(ctx, pCsr->szPage);
pCsr             155831 ext/sqlite3/libsqlite/sqlite3.c   StatCursor *pCsr = (StatCursor *)pCursor;
pCsr             155832 ext/sqlite3/libsqlite/sqlite3.c   *pRowid = pCsr->iPageno;