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;