pPhrase          133100 ext/sqlite3/libsqlite/sqlite3.c   Fts3Phrase *pPhrase;       /* Valid if eType==FTSQUERY_PHRASE */
pPhrase          136969 ext/sqlite3/libsqlite/sqlite3.c       int nToken = pExpr->pPhrase->nToken;
pPhrase          136972 ext/sqlite3/libsqlite/sqlite3.c         Fts3PhraseToken *pToken = &pExpr->pPhrase->aToken[i];
pPhrase          136981 ext/sqlite3/libsqlite/sqlite3.c       assert( pExpr->pPhrase->iDoclistToken==0 );
pPhrase          136982 ext/sqlite3/libsqlite/sqlite3.c       pExpr->pPhrase->iDoclistToken = -1;
pPhrase          137101 ext/sqlite3/libsqlite/sqlite3.c static int fts3EvalDeferredPhrase(Fts3Cursor *pCsr, Fts3Phrase *pPhrase){
pPhrase          137107 ext/sqlite3/libsqlite/sqlite3.c   assert( pPhrase->doclist.bFreeList==0 );
pPhrase          137109 ext/sqlite3/libsqlite/sqlite3.c   for(iToken=0; iToken<pPhrase->nToken; iToken++){
pPhrase          137110 ext/sqlite3/libsqlite/sqlite3.c     Fts3PhraseToken *pToken = &pPhrase->aToken[iToken];
pPhrase          137121 ext/sqlite3/libsqlite/sqlite3.c         pPhrase->doclist.pList = 0;
pPhrase          137122 ext/sqlite3/libsqlite/sqlite3.c         pPhrase->doclist.nList = 0;
pPhrase          137141 ext/sqlite3/libsqlite/sqlite3.c           pPhrase->doclist.pList = 0;
pPhrase          137142 ext/sqlite3/libsqlite/sqlite3.c           pPhrase->doclist.nList = 0;
pPhrase          137151 ext/sqlite3/libsqlite/sqlite3.c     int nMaxUndeferred = pPhrase->iDoclistToken;
pPhrase          137153 ext/sqlite3/libsqlite/sqlite3.c       pPhrase->doclist.pList = aPoslist;
pPhrase          137154 ext/sqlite3/libsqlite/sqlite3.c       pPhrase->doclist.nList = nPoslist;
pPhrase          137155 ext/sqlite3/libsqlite/sqlite3.c       pPhrase->doclist.iDocid = pCsr->iPrevId;
pPhrase          137156 ext/sqlite3/libsqlite/sqlite3.c       pPhrase->doclist.bFreeList = 1;
pPhrase          137165 ext/sqlite3/libsqlite/sqlite3.c         p2 = pPhrase->doclist.pList;
pPhrase          137168 ext/sqlite3/libsqlite/sqlite3.c         p1 = pPhrase->doclist.pList;
pPhrase          137179 ext/sqlite3/libsqlite/sqlite3.c       pPhrase->doclist.pList = aOut;
pPhrase          137181 ext/sqlite3/libsqlite/sqlite3.c         pPhrase->doclist.bFreeList = 1;
pPhrase          137182 ext/sqlite3/libsqlite/sqlite3.c         pPhrase->doclist.nList = (int)(aOut - pPhrase->doclist.pList);
pPhrase          137185 ext/sqlite3/libsqlite/sqlite3.c         pPhrase->doclist.pList = 0;
pPhrase          137186 ext/sqlite3/libsqlite/sqlite3.c         pPhrase->doclist.nList = 0;
pPhrase          137428 ext/sqlite3/libsqlite/sqlite3.c   Fts3Phrase *pPhrase,            /* Phrase to advance token of */
pPhrase          137435 ext/sqlite3/libsqlite/sqlite3.c   if( pPhrase->iDoclistToken==iToken ){
pPhrase          137437 ext/sqlite3/libsqlite/sqlite3.c     assert( pPhrase->aToken[iToken].pSegcsr==0 );
pPhrase          137438 ext/sqlite3/libsqlite/sqlite3.c     fts3EvalDlPhraseNext(pTab, &pPhrase->doclist, pbEof);
pPhrase          137439 ext/sqlite3/libsqlite/sqlite3.c     p->pList = pPhrase->doclist.pList;
pPhrase          137440 ext/sqlite3/libsqlite/sqlite3.c     p->nList = pPhrase->doclist.nList;
pPhrase          137441 ext/sqlite3/libsqlite/sqlite3.c     p->iDocid = pPhrase->doclist.iDocid;
pPhrase          137443 ext/sqlite3/libsqlite/sqlite3.c     Fts3PhraseToken *pToken = &pPhrase->aToken[iToken];
pPhrase          137445 ext/sqlite3/libsqlite/sqlite3.c     assert( pToken->pSegcsr || pPhrase->iDoclistToken>=0 );
pPhrase          137624 ext/sqlite3/libsqlite/sqlite3.c       int nToken = pExpr->pPhrase->nToken;
pPhrase          137628 ext/sqlite3/libsqlite/sqlite3.c           if( pExpr->pPhrase->aToken[i].pDeferred==0 ) break;
pPhrase          137632 ext/sqlite3/libsqlite/sqlite3.c       *pRc = fts3EvalPhraseStart(pCsr, 1, pExpr->pPhrase);
pPhrase          137655 ext/sqlite3/libsqlite/sqlite3.c   Fts3Phrase *pPhrase;            /* The phrase the token belongs to */
pPhrase          137680 ext/sqlite3/libsqlite/sqlite3.c       Fts3Phrase *pPhrase = pExpr->pPhrase;
pPhrase          137682 ext/sqlite3/libsqlite/sqlite3.c       for(i=0; *pRc==SQLITE_OK && i<pPhrase->nToken; i++){
pPhrase          137684 ext/sqlite3/libsqlite/sqlite3.c         pTC->pPhrase = pPhrase;
pPhrase          137687 ext/sqlite3/libsqlite/sqlite3.c         pTC->pToken = &pPhrase->aToken[i];
pPhrase          137688 ext/sqlite3/libsqlite/sqlite3.c         pTC->iCol = pPhrase->iColumn;
pPhrase          137877 ext/sqlite3/libsqlite/sqlite3.c       if( ii==0 || (pTC->pPhrase->nToken>1 && ii!=nToken-1) ){
pPhrase          137888 ext/sqlite3/libsqlite/sqlite3.c               pTab, pTC->pPhrase, pTC->iToken,pList,nList
pPhrase          137894 ext/sqlite3/libsqlite/sqlite3.c               pTC->pPhrase->doclist.aAll, pTC->pPhrase->doclist.nAll
pPhrase          137968 ext/sqlite3/libsqlite/sqlite3.c static void fts3EvalInvalidatePoslist(Fts3Phrase *pPhrase){
pPhrase          137969 ext/sqlite3/libsqlite/sqlite3.c   if( pPhrase->doclist.bFreeList ){
pPhrase          137970 ext/sqlite3/libsqlite/sqlite3.c     sqlite3_free(pPhrase->doclist.pList);
pPhrase          137972 ext/sqlite3/libsqlite/sqlite3.c   pPhrase->doclist.pList = 0;
pPhrase          137973 ext/sqlite3/libsqlite/sqlite3.c   pPhrase->doclist.nList = 0;
pPhrase          137974 ext/sqlite3/libsqlite/sqlite3.c   pPhrase->doclist.bFreeList = 0;
pPhrase          138004 ext/sqlite3/libsqlite/sqlite3.c   Fts3Phrase *pPhrase             /* The phrase object to trim the doclist of */
pPhrase          138006 ext/sqlite3/libsqlite/sqlite3.c   int nParam1 = nNear + pPhrase->nToken;
pPhrase          138013 ext/sqlite3/libsqlite/sqlite3.c   assert( pPhrase->doclist.pList );
pPhrase          138015 ext/sqlite3/libsqlite/sqlite3.c   p2 = pOut = pPhrase->doclist.pList;
pPhrase          138020 ext/sqlite3/libsqlite/sqlite3.c     nNew = (int)(pOut - pPhrase->doclist.pList) - 1;
pPhrase          138021 ext/sqlite3/libsqlite/sqlite3.c     assert( pPhrase->doclist.pList[nNew]=='\0' );
pPhrase          138022 ext/sqlite3/libsqlite/sqlite3.c     assert( nNew<=pPhrase->doclist.nList && nNew>0 );
pPhrase          138023 ext/sqlite3/libsqlite/sqlite3.c     memset(&pPhrase->doclist.pList[nNew], 0, pPhrase->doclist.nList - nNew);
pPhrase          138024 ext/sqlite3/libsqlite/sqlite3.c     pPhrase->doclist.nList = nNew;
pPhrase          138025 ext/sqlite3/libsqlite/sqlite3.c     *paPoslist = pPhrase->doclist.pList;
pPhrase          138026 ext/sqlite3/libsqlite/sqlite3.c     *pnToken = pPhrase->nToken;
pPhrase          138118 ext/sqlite3/libsqlite/sqlite3.c             if( pRight->pPhrase && pRight->pPhrase->doclist.aAll ){
pPhrase          138119 ext/sqlite3/libsqlite/sqlite3.c               Fts3Doclist *pDl = &pRight->pPhrase->doclist;
pPhrase          138125 ext/sqlite3/libsqlite/sqlite3.c             if( pLeft->pPhrase && pLeft->pPhrase->doclist.aAll ){
pPhrase          138126 ext/sqlite3/libsqlite/sqlite3.c               Fts3Doclist *pDl = &pLeft->pPhrase->doclist;
pPhrase          138189 ext/sqlite3/libsqlite/sqlite3.c         Fts3Phrase *pPhrase = pExpr->pPhrase;
pPhrase          138190 ext/sqlite3/libsqlite/sqlite3.c         fts3EvalInvalidatePoslist(pPhrase);
pPhrase          138191 ext/sqlite3/libsqlite/sqlite3.c         *pRc = fts3EvalPhraseNext(pCsr, pPhrase, &pExpr->bEof);
pPhrase          138192 ext/sqlite3/libsqlite/sqlite3.c         pExpr->iDocid = pPhrase->doclist.iDocid;
pPhrase          138248 ext/sqlite3/libsqlite/sqlite3.c       nTmp += p->pRight->pPhrase->doclist.nList;
pPhrase          138250 ext/sqlite3/libsqlite/sqlite3.c     nTmp += p->pPhrase->doclist.nList;
pPhrase          138259 ext/sqlite3/libsqlite/sqlite3.c         char *aPoslist = p->pPhrase->doclist.pList;
pPhrase          138260 ext/sqlite3/libsqlite/sqlite3.c         int nToken = p->pPhrase->nToken;
pPhrase          138263 ext/sqlite3/libsqlite/sqlite3.c           Fts3Phrase *pPhrase = p->pRight->pPhrase;
pPhrase          138265 ext/sqlite3/libsqlite/sqlite3.c           res = fts3EvalNearTrim(nNear, aTmp, &aPoslist, &nToken, pPhrase);
pPhrase          138268 ext/sqlite3/libsqlite/sqlite3.c         aPoslist = pExpr->pRight->pPhrase->doclist.pList;
pPhrase          138269 ext/sqlite3/libsqlite/sqlite3.c         nToken = pExpr->pRight->pPhrase->nToken;
pPhrase          138272 ext/sqlite3/libsqlite/sqlite3.c           Fts3Phrase *pPhrase;
pPhrase          138275 ext/sqlite3/libsqlite/sqlite3.c           pPhrase = (
pPhrase          138276 ext/sqlite3/libsqlite/sqlite3.c               p->eType==FTSQUERY_NEAR ? p->pRight->pPhrase : p->pPhrase
pPhrase          138278 ext/sqlite3/libsqlite/sqlite3.c           res = fts3EvalNearTrim(nNear, aTmp, &aPoslist, &nToken, pPhrase);
pPhrase          138336 ext/sqlite3/libsqlite/sqlite3.c           for(p=pExpr; p->pPhrase==0; p=p->pLeft){
pPhrase          138338 ext/sqlite3/libsqlite/sqlite3.c               fts3EvalInvalidatePoslist(p->pRight->pPhrase);
pPhrase          138342 ext/sqlite3/libsqlite/sqlite3.c             fts3EvalInvalidatePoslist(p->pPhrase);
pPhrase          138367 ext/sqlite3/libsqlite/sqlite3.c           Fts3Phrase *pPhrase = pExpr->pPhrase;
pPhrase          138368 ext/sqlite3/libsqlite/sqlite3.c           assert( pExpr->bDeferred || pPhrase->doclist.bFreeList==0 );
pPhrase          138370 ext/sqlite3/libsqlite/sqlite3.c             fts3EvalInvalidatePoslist(pPhrase);
pPhrase          138372 ext/sqlite3/libsqlite/sqlite3.c           *pRc = fts3EvalDeferredPhrase(pCsr, pPhrase);
pPhrase          138373 ext/sqlite3/libsqlite/sqlite3.c           bHit = (pPhrase->doclist.pList!=0);
pPhrase          138488 ext/sqlite3/libsqlite/sqlite3.c     Fts3Phrase *pPhrase = pExpr->pPhrase;
pPhrase          138490 ext/sqlite3/libsqlite/sqlite3.c     if( pPhrase ){
pPhrase          138491 ext/sqlite3/libsqlite/sqlite3.c       fts3EvalInvalidatePoslist(pPhrase);
pPhrase          138492 ext/sqlite3/libsqlite/sqlite3.c       if( pPhrase->bIncr ){
pPhrase          138494 ext/sqlite3/libsqlite/sqlite3.c         for(i=0; i<pPhrase->nToken; i++){
pPhrase          138495 ext/sqlite3/libsqlite/sqlite3.c           Fts3PhraseToken *pToken = &pPhrase->aToken[i];
pPhrase          138501 ext/sqlite3/libsqlite/sqlite3.c         *pRc = fts3EvalPhraseStart(pCsr, 0, pPhrase);
pPhrase          138503 ext/sqlite3/libsqlite/sqlite3.c       pPhrase->doclist.pNextDocid = 0;
pPhrase          138504 ext/sqlite3/libsqlite/sqlite3.c       pPhrase->doclist.iDocid = 0;
pPhrase          138505 ext/sqlite3/libsqlite/sqlite3.c       pPhrase->pOrPoslist = 0;
pPhrase          138527 ext/sqlite3/libsqlite/sqlite3.c     Fts3Phrase *pPhrase = pExpr->pPhrase;
pPhrase          138528 ext/sqlite3/libsqlite/sqlite3.c     if( pPhrase && pPhrase->doclist.pList ){
pPhrase          138530 ext/sqlite3/libsqlite/sqlite3.c       char *p = pPhrase->doclist.pList;
pPhrase          138734 ext/sqlite3/libsqlite/sqlite3.c   Fts3Phrase *pPhrase = pExpr->pPhrase;
pPhrase          138744 ext/sqlite3/libsqlite/sqlite3.c   if( (pPhrase->iColumn<pTab->nColumn && pPhrase->iColumn!=iCol) ){
pPhrase          138749 ext/sqlite3/libsqlite/sqlite3.c   pIter = pPhrase->doclist.pList;
pPhrase          138775 ext/sqlite3/libsqlite/sqlite3.c     if( pPhrase->bIncr ){
pPhrase          138782 ext/sqlite3/libsqlite/sqlite3.c       assert( rc!=SQLITE_OK || pPhrase->bIncr==0 );
pPhrase          138791 ext/sqlite3/libsqlite/sqlite3.c     pIter = pPhrase->pOrPoslist;
pPhrase          138792 ext/sqlite3/libsqlite/sqlite3.c     iDocid = pPhrase->iOrDocid;
pPhrase          138794 ext/sqlite3/libsqlite/sqlite3.c       bEof = !pPhrase->doclist.nAll ||
pPhrase          138795 ext/sqlite3/libsqlite/sqlite3.c                  (pIter >= (pPhrase->doclist.aAll + pPhrase->doclist.nAll));
pPhrase          138798 ext/sqlite3/libsqlite/sqlite3.c             bDescDoclist, pPhrase->doclist.aAll, pPhrase->doclist.nAll, 
pPhrase          138803 ext/sqlite3/libsqlite/sqlite3.c       bEof = !pPhrase->doclist.nAll || (pIter && pIter<=pPhrase->doclist.aAll);
pPhrase          138807 ext/sqlite3/libsqlite/sqlite3.c             bDescDoclist, pPhrase->doclist.aAll, pPhrase->doclist.nAll, 
pPhrase          138812 ext/sqlite3/libsqlite/sqlite3.c     pPhrase->pOrPoslist = pIter;
pPhrase          138813 ext/sqlite3/libsqlite/sqlite3.c     pPhrase->iOrDocid = iDocid;
pPhrase          138846 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE void sqlite3Fts3EvalPhraseCleanup(Fts3Phrase *pPhrase){
pPhrase          138847 ext/sqlite3/libsqlite/sqlite3.c   if( pPhrase ){
pPhrase          138849 ext/sqlite3/libsqlite/sqlite3.c     sqlite3_free(pPhrase->doclist.aAll);
pPhrase          138850 ext/sqlite3/libsqlite/sqlite3.c     fts3EvalInvalidatePoslist(pPhrase);
pPhrase          138851 ext/sqlite3/libsqlite/sqlite3.c     memset(&pPhrase->doclist, 0, sizeof(Fts3Doclist));
pPhrase          138852 ext/sqlite3/libsqlite/sqlite3.c     for(i=0; i<pPhrase->nToken; i++){
pPhrase          138853 ext/sqlite3/libsqlite/sqlite3.c       fts3SegReaderCursorFree(pPhrase->aToken[i].pSegcsr);
pPhrase          138854 ext/sqlite3/libsqlite/sqlite3.c       pPhrase->aToken[i].pSegcsr = 0;
pPhrase          139651 ext/sqlite3/libsqlite/sqlite3.c         pRet->pPhrase = (Fts3Phrase *)&pRet[1];
pPhrase          139652 ext/sqlite3/libsqlite/sqlite3.c         pRet->pPhrase->nToken = 1;
pPhrase          139653 ext/sqlite3/libsqlite/sqlite3.c         pRet->pPhrase->iColumn = iCol;
pPhrase          139654 ext/sqlite3/libsqlite/sqlite3.c         pRet->pPhrase->aToken[0].n = nToken;
pPhrase          139655 ext/sqlite3/libsqlite/sqlite3.c         pRet->pPhrase->aToken[0].z = (char *)&pRet->pPhrase[1];
pPhrase          139656 ext/sqlite3/libsqlite/sqlite3.c         memcpy(pRet->pPhrase->aToken[0].z, zToken, nToken);
pPhrase          139659 ext/sqlite3/libsqlite/sqlite3.c           pRet->pPhrase->aToken[0].isPrefix = 1;
pPhrase          139670 ext/sqlite3/libsqlite/sqlite3.c             pRet->pPhrase->aToken[0].bFirst = 1;
pPhrase          139793 ext/sqlite3/libsqlite/sqlite3.c     p->pPhrase = (Fts3Phrase *)&p[1];
pPhrase          139794 ext/sqlite3/libsqlite/sqlite3.c     p->pPhrase->iColumn = pParse->iDefaultCol;
pPhrase          139795 ext/sqlite3/libsqlite/sqlite3.c     p->pPhrase->nToken = nToken;
pPhrase          139797 ext/sqlite3/libsqlite/sqlite3.c     zBuf = (char *)&p->pPhrase->aToken[nToken];
pPhrase          139805 ext/sqlite3/libsqlite/sqlite3.c     for(jj=0; jj<p->pPhrase->nToken; jj++){
pPhrase          139806 ext/sqlite3/libsqlite/sqlite3.c       p->pPhrase->aToken[jj].z = zBuf;
pPhrase          139807 ext/sqlite3/libsqlite/sqlite3.c       zBuf += p->pPhrase->aToken[jj].n;
pPhrase          140482 ext/sqlite3/libsqlite/sqlite3.c   assert( p->eType==FTSQUERY_PHRASE || p->pPhrase==0 );
pPhrase          140483 ext/sqlite3/libsqlite/sqlite3.c   sqlite3Fts3EvalPhraseCleanup(p->pPhrase);
pPhrase          140569 ext/sqlite3/libsqlite/sqlite3.c       Fts3Phrase *pPhrase = pExpr->pPhrase;
pPhrase          140572 ext/sqlite3/libsqlite/sqlite3.c           "%zPHRASE %d 0", zBuf, pPhrase->iColumn);
pPhrase          140573 ext/sqlite3/libsqlite/sqlite3.c       for(i=0; zBuf && i<pPhrase->nToken; i++){
pPhrase          140575 ext/sqlite3/libsqlite/sqlite3.c             pPhrase->aToken[i].n, pPhrase->aToken[i].z,
pPhrase          140576 ext/sqlite3/libsqlite/sqlite3.c             (pPhrase->aToken[i].isPrefix?"+":"")
pPhrase          148812 ext/sqlite3/libsqlite/sqlite3.c   Fts3Phrase *pPhrase = pExpr->pPhrase;
pPhrase          148818 ext/sqlite3/libsqlite/sqlite3.c   p->nToken += pPhrase->nToken;
pPhrase          148900 ext/sqlite3/libsqlite/sqlite3.c       SnippetPhrase *pPhrase = &pIter->aPhrase[i];
pPhrase          148901 ext/sqlite3/libsqlite/sqlite3.c       fts3SnippetAdvance(&pPhrase->pHead, &pPhrase->iHead, pIter->nSnippet);
pPhrase          148908 ext/sqlite3/libsqlite/sqlite3.c       SnippetPhrase *pPhrase = &pIter->aPhrase[i];
pPhrase          148909 ext/sqlite3/libsqlite/sqlite3.c       if( pPhrase->pHead && pPhrase->iHead<iEnd ){
pPhrase          148910 ext/sqlite3/libsqlite/sqlite3.c         iEnd = pPhrase->iHead;
pPhrase          148919 ext/sqlite3/libsqlite/sqlite3.c       SnippetPhrase *pPhrase = &pIter->aPhrase[i];
pPhrase          148920 ext/sqlite3/libsqlite/sqlite3.c       fts3SnippetAdvance(&pPhrase->pHead, &pPhrase->iHead, iEnd+1);
pPhrase          148921 ext/sqlite3/libsqlite/sqlite3.c       fts3SnippetAdvance(&pPhrase->pTail, &pPhrase->iTail, iStart);
pPhrase          148947 ext/sqlite3/libsqlite/sqlite3.c     SnippetPhrase *pPhrase = &pIter->aPhrase[i];
pPhrase          148948 ext/sqlite3/libsqlite/sqlite3.c     if( pPhrase->pTail ){
pPhrase          148949 ext/sqlite3/libsqlite/sqlite3.c       char *pCsr = pPhrase->pTail;
pPhrase          148950 ext/sqlite3/libsqlite/sqlite3.c       int iCsr = pPhrase->iTail;
pPhrase          148964 ext/sqlite3/libsqlite/sqlite3.c         for(j=0; j<pPhrase->nToken; j++){
pPhrase          148987 ext/sqlite3/libsqlite/sqlite3.c   SnippetPhrase *pPhrase = &p->aPhrase[iPhrase];
pPhrase          148991 ext/sqlite3/libsqlite/sqlite3.c   pPhrase->nToken = pExpr->pPhrase->nToken;
pPhrase          148996 ext/sqlite3/libsqlite/sqlite3.c     pPhrase->pList = pCsr;
pPhrase          148999 ext/sqlite3/libsqlite/sqlite3.c     pPhrase->pHead = pCsr;
pPhrase          149000 ext/sqlite3/libsqlite/sqlite3.c     pPhrase->pTail = pCsr;
pPhrase          149001 ext/sqlite3/libsqlite/sqlite3.c     pPhrase->iHead = iFirst;
pPhrase          149002 ext/sqlite3/libsqlite/sqlite3.c     pPhrase->iTail = iFirst;
pPhrase          149005 ext/sqlite3/libsqlite/sqlite3.c        pPhrase->pList==0 && pPhrase->pHead==0 && pPhrase->pTail==0 
pPhrase          149454 ext/sqlite3/libsqlite/sqlite3.c   assert( pExpr->pPhrase );
pPhrase          149464 ext/sqlite3/libsqlite/sqlite3.c     Fts3Phrase *pPhrase = pExpr->pPhrase;
pPhrase          149465 ext/sqlite3/libsqlite/sqlite3.c     char *pIter = pPhrase->doclist.pList;
pPhrase          149470 ext/sqlite3/libsqlite/sqlite3.c       if( (pPhrase->iColumn>=pTab->nColumn || pPhrase->iColumn==iCol) ){
pPhrase          149637 ext/sqlite3/libsqlite/sqlite3.c     nToken -= pIter->pExpr->pPhrase->nToken;
pPhrase          150009 ext/sqlite3/libsqlite/sqlite3.c   nTerm = pExpr->pPhrase->nToken;