Lines Matching refs:pNear

199679     Fts3Expr *pNear;              /* Most senior NEAR ancestor (or pExpr) */  local
199688 pNear = pExpr;
199691 if( p->eType==FTSQUERY_NEAR ) pNear = p;
199695 pRun = pNear;
199724 for(p=pNear; p; p=p->pLeft){
242216 Fts5ExprNearset *pNear
246292 Fts5ExprNearset *pNear; /* For FTS5_STRING - cluster of phrases */ member
246649 sqlite3Fts5ParseNearsetFree(p->pNear);
246951 static int fts5ExprNearIsMatch(int *pRc, Fts5ExprNearset *pNear){ argument
246954 Fts5ExprPhrase **apPhrase = pNear->apPhrase;
246960 assert( pNear->nPhrase>1 );
246964 if( pNear->nPhrase>ArraySize(aStatic) ){
246965 sqlite3_int64 nByte = sizeof(Fts5NearTrimmer) * pNear->nPhrase;
246983 for(i=0; i<pNear->nPhrase; i++){
247000 for(i=0; i<pNear->nPhrase; i++){
247002 iMin = iMax - pNear->apPhrase[i]->nTerm - pNear->nNear;
247014 for(i=0; i<pNear->nPhrase; i++){
247024 for(i=0; i<pNear->nPhrase; i++){
247111 Fts5ExprNearset *pNear = pNode->pNear; local
247116 Fts5ExprPhrase *pPhrase = pNear->apPhrase[0];
247133 for(i=0; rc==SQLITE_OK && i<pNear->nPhrase; i++){
247134 Fts5ExprPhrase *pPhrase = pNear->apPhrase[i];
247136 || pNear->pColset || pPhrase->aTerm[0].bFirst
247148 if( i==pNear->nPhrase && (i==1 || fts5ExprNearIsMatch(pRc, pNear)) ){
247169 Fts5ExprNearset *pNear = pNode->pNear; local
247173 for(i=0; i<pNear->nPhrase; i++){
247174 Fts5ExprPhrase *pPhrase = pNear->apPhrase[i];
247195 pNear->pColset,
247253 Fts5ExprNearset *pNear = pNode->pNear; local
247255 for(i=0; i<pNear->nPhrase; i++){
247256 Fts5ExprPhrase *pPhrase = pNear->apPhrase[i];
247306 Fts5ExprNearset *pNear = pNode->pNear; local
247307 Fts5ExprPhrase *pLeft = pNear->apPhrase[0];
247315 assert( pNear->nPhrase>1
247316 || pNear->apPhrase[0]->nTerm>1
247317 || pNear->apPhrase[0]->aTerm[0].pSynonym
247318 || pNear->apPhrase[0]->aTerm[0].bFirst
247333 for(i=0; i<pNear->nPhrase; i++){
247334 Fts5ExprPhrase *pPhrase = pNear->apPhrase[i];
247378 Fts5ExprTerm *pTerm = &pNode->pNear->apPhrase[0]->aTerm[0];
247446 Fts5ExprPhrase *pPhrase = pNode->pNear->apPhrase[0];
247450 assert( pNode->pNear->nPhrase==1 && pPhrase->nTerm==1 );
247472 Fts5IndexIter *pIter = pNode->pNear->apPhrase[0]->aTerm[0].pIter;
247872 Fts5ExprNearset *pNear, /* Existing nearset, or NULL */ argument
247879 if( pNear==0 ){
247888 }else if( (pNear->nPhrase % SZALLOC)==0 ){
247889 int nNew = pNear->nPhrase + SZALLOC;
247893 pRet = (Fts5ExprNearset*)sqlite3_realloc64(pNear, nByte);
247898 pRet = pNear;
247904 sqlite3Fts5ParseNearsetFree(pNear);
248020 static void sqlite3Fts5ParseNearsetFree(Fts5ExprNearset *pNear){ argument
248021 if( pNear ){
248023 for(i=0; i<pNear->nPhrase; i++){
248024 fts5ExprPhraseFree(pNear->apPhrase[i]);
248026 sqlite3_free(pNear->pColset);
248027 sqlite3_free(pNear);
248134 pNew->pRoot->pNear = (Fts5ExprNearset*)sqlite3Fts5MallocZero(&rc,
248138 Fts5Colset *pColsetOrig = pOrig->pNode->pNear->pColset;
248147 pNew->pRoot->pNear->pColset = pColset;
248180 pNew->pRoot->pNear->apPhrase[0] = sCtx.pPhrase;
248181 pNew->pRoot->pNear->nPhrase = 1;
248220 Fts5ExprNearset *pNear, argument
248223 if( pNear ){
248241 pNear->nNear = nNear;
248413 Fts5ExprNearset *pNear = pNode->pNear; local
248414 if( pNear->pColset ){
248415 fts5MergeColset(pNear->pColset, pColset);
248416 if( pNear->pColset->nCol==0 ){
248421 pNear->pColset = pColset;
248424 pNear->pColset = fts5CloneColset(&pParse->rc, pColset);
248458 Fts5ExprNearset *pNear = pNode->pNear; local
248459 if( pNear->nPhrase==1 && pNear->apPhrase[0]->nTerm==1
248460 && pNear->apPhrase[0]->aTerm[0].pSynonym==0
248461 && pNear->apPhrase[0]->aTerm[0].bFirst==0
248519 Fts5ExprNearset *pNear argument
248521 int nTerm = pNear->apPhrase[0]->nTerm;
248526 assert( pNear->nPhrase==1 );
248545 Fts5ExprTerm *p = &pNear->apPhrase[0]->aTerm[ii];
248563 sqlite3Fts5ParseNearsetFree(pNear);
248579 Fts5ExprNearset *pNear /* For STRING expressions, the near cluster */ argument
248587 assert( (eType!=FTS5_STRING && !pNear)
248590 if( eType==FTS5_STRING && pNear==0 ) return 0;
248596 && pNear->apPhrase[0]->nTerm>1
248598 pRet = fts5ParsePhraseToAnd(pParse, pNear);
248613 pRet->pNear = pNear;
248617 for(iPhrase=0; iPhrase<pNear->nPhrase; iPhrase++){
248618 pNear->apPhrase[iPhrase]->pNode = pRet;
248619 if( pNear->apPhrase[iPhrase]->nTerm==0 ){
248626 Fts5ExprPhrase *pPhrase = pNear->apPhrase[0];
248627 if( pNear->nPhrase!=1
248633 pNear->nPhrase==1 ? "phrase": "NEAR"
248637 pNear = 0;
248642 assert( pNear==0 );
248663 sqlite3Fts5ParseNearsetFree(pNear);
248705 assert( pParse->apPhrase[pParse->nPhrase-1]==pRight->pNear->apPhrase[0] );
248720 ap = &pParse->apPhrase[pParse->nPhrase-1-pRight->pNear->nPhrase];
248721 assert( ap[0]==pPrev->pNear->apPhrase[0] );
248722 memmove(ap, &ap[1], sizeof(Fts5ExprPhrase*)*pRight->pNear->nPhrase);
248797 Fts5ExprNearset *pNear = pExpr->pNear; local
248803 if( pNear->pColset ){
248804 int *aiCol = pNear->pColset->aiCol;
248805 int nCol = pNear->pColset->nCol;
248810 for(i=1; i<pNear->pColset->nCol; i++){
248818 if( pNear->nPhrase>1 ){
248819 zRet = fts5PrintfAppend(zRet, "-near %d ", pNear->nNear);
248826 for(i=0; i<pNear->nPhrase; i++){
248827 Fts5ExprPhrase *pPhrase = pNear->apPhrase[i];
248879 Fts5ExprNearset *pNear = pExpr->pNear; local
248883 if( pNear->pColset ){
248885 Fts5Colset *pColset = pNear->pColset;
248898 if( pNear->nPhrase>1 ){
248903 for(i=0; i<pNear->nPhrase; i++){
248904 Fts5ExprPhrase *pPhrase = pNear->apPhrase[i];
248922 if( pNear->nPhrase>1 ){
248923 zRet = fts5PrintfAppend(zRet, ", %d)", pNear->nNear);
249307 Fts5Colset *pColset = pNode->pNear->pColset;
249324 pNode->pNear->apPhrase[0]->poslist.n = 0;
249340 return (pNode->pNear->apPhrase[0]->poslist.n>0);