Lines Matching refs:poslist
183290 ** poslist). This is an 0x00 byte preceded by some byte that does not
183298 ** set. So to find the start of the poslist, skip forward 2 bytes then
183301 ** Normally. The other case is that p==pStart and the poslist to return
222262 const u8 *a, int n, /* Buffer containing poslist */
225164 const u8 *a, int n, /* Buffer containing poslist */
226476 Fts5Buffer poslist; /* Current position list */
226905 ** the pPhrase->poslist buffer accordingly. Output parameter *pbMatch
226924 fts5BufferZero(&pPhrase->poslist);
226978 rc = sqlite3Fts5PoslistWriterAppend(&pPhrase->poslist, &writer, iPos);
226988 *pbMatch = (pPhrase->poslist.n>0);
227030 Fts5Buffer *pOut; /* Output poslist */
227036 ** Fts5ExprPhrase.poslist buffers are populated accordingly. This function
227076 ** the phrase poslist buffer. The new poslist for the phrase (containing
227079 ** being read. This is safe as the entries for the new poslist are a
227083 Fts5Buffer *pPoslist = &apPhrase[i]->poslist;
227216 pPhrase->poslist.n = 0;
227221 pPhrase->poslist.n = 1;
227225 return pPhrase->poslist.n;
227230 ** Populate the pPhrase->poslist buffers at the same time. If any
227242 fts5BufferSet(&rc, &pPhrase->poslist, pIter->nData, pIter->pData);
227356 pPhrase->poslist.n = 0;
227541 ** of a single term only, grab pointers into the poslist managed by the
227543 ** a new poslist the way we have to for more complicated phrase or NEAR
227552 pPhrase->poslist.n = pIter->nData;
227554 pPhrase->poslist.p = (u8*)pIter->pData;
227557 pNode->bNomatch = (pPhrase->poslist.n==0);
227937 if( pPhrase->poslist.nSpace>0 ) fts5BufferFree(&pPhrase->poslist);
229219 *pa = pPhrase->poslist.p;
229220 nRet = pPhrase->poslist.n;
229250 Fts5Buffer *pBuf = &pExpr->apExprPhrase[i]->poslist;
229308 &pExpr->apExprPhrase[i]->poslist, &p->aPopulator[i].writer, p->iOff
229350 pNode->pNear->apPhrase[0]->poslist.n = 0;
229365 return (pNode->pNear->apPhrase[0]->poslist.n>0);
229425 && pPhrase->poslist.n>0
229508 int iSzPoslist; /* Offset of space for 4-byte poslist size */
229760 ** + 4 byte reserved for the "poslist size" varint.
230126 ** poslist: first poslist
230129 ** poslist: next poslist
230132 ** poslist format:
230134 ** varint: size of poslist in bytes multiplied by 2, not including
230507 ** poslist:
230508 ** Used by sqlite3Fts5IterPoslist() when the poslist needs to be buffered.
230515 Fts5Buffer poslist; /* Buffer containing current poslist */
232830 fts5BufferFree(&pIter->poslist);
233211 ** If memory is required for the new position list, use buffer pIter->poslist.
233232 if( pColset->nCol>1 && sqlite3Fts5BufferSize(pRc, &pIter->poslist, nPos) ){
233240 pIter->base.pData = pIter->poslist.p;
233241 pIter->base.nData = pIter->poslist.n;
233258 fts5BufferSafeAppendBlob(&pIter->poslist, aCopy, p-aCopy);
233261 pIter->base.pData = pIter->poslist.p;
233262 pIter->base.nData = pIter->poslist.n;
233302 ** Fts5Iter.poslist buffer and then set the output pointer to point
233304 fts5BufferZero(&pIter->poslist);
233305 fts5SegiterPoslist(pIter->pIndex, pSeg, 0, &pIter->poslist);
233306 pIter->base.pData = pIter->poslist.p;
233325 fts5BufferZero(&pIter->poslist);
233326 fts5SegiterPoslist(pIter->pIndex, pSeg, pIter->pColset, &pIter->poslist);
233328 pIter->base.pData = pIter->poslist.p;
233329 pIter->base.nData = pIter->poslist.n;
233356 u8 *aOut = pIter->poslist.p;
233374 pIter->base.pData = pIter->poslist.p;
233375 pIter->base.nData = aOut - pIter->poslist.p;
233394 fts5BufferZero(&pIter->poslist);
233398 ** Fts5Iter.poslist buffer and then set the output pointer to point
233400 fts5BufferZero(&pIter->poslist);
233401 fts5SegiterPoslist(pIter->pIndex, pSeg, pColset, &pIter->poslist);
233402 pIter->base.pData = pIter->poslist.p;
233403 pIter->base.nData = pIter->poslist.n;
233431 sqlite3Fts5BufferSize(pRc, &pIter->poslist, pConfig->nCol);
234668 /* The entire poslist will fit on the current leaf. So copy
234672 /* The entire poslist will not fit on this leaf. So it needs
235025 PrefixMerger *pNext; /* Next in docid/poslist order */
235189 /* Copy poslist from pHead to output */
236234 Fts5Buffer poslist = {0,0,0}; /* Buffer used to hold a poslist */
236279 i64 iPos = 0; /* Position read from poslist */
236280 int iOff = 0; /* Offset within poslist */
236293 poslist.n = 0;
236294 fts5SegiterPoslist(p, &pIter->aSeg[pIter->aFirst[1].iFirst], 0, &poslist);
236295 fts5BufferAppendBlob(&p->rc, &poslist, 4, (const u8*)"\0\0\0\0");
236296 while( 0==sqlite3Fts5PoslistNext64(poslist.p, poslist.n, &iOff, &iPos) ){
236312 fts5BufferFree(&poslist);
236954 Fts5Buffer *pPoslist; /* Pointer to current poslist */
243984 i64 iPos = 0; /* 64-bit position read from poslist */