pReader 78220 ext/sqlite3/libsqlite/sqlite3.c PmaReader *pReader; /* Readr data from here after Rewind() */ pReader 79119 ext/sqlite3/libsqlite/sqlite3.c assert( pSorter->bUseThreads || pSorter->pReader==0 ); pReader 79121 ext/sqlite3/libsqlite/sqlite3.c if( pSorter->pReader ){ pReader 79122 ext/sqlite3/libsqlite/sqlite3.c vdbePmaReaderClear(pSorter->pReader); pReader 79123 ext/sqlite3/libsqlite/sqlite3.c sqlite3DbFree(db, pSorter->pReader); pReader 79124 ext/sqlite3/libsqlite/sqlite3.c pSorter->pReader = 0; pReader 79770 ext/sqlite3/libsqlite/sqlite3.c PmaReader *pReader = &pMerger->aReadr[ pMerger->aTree[1] ]; pReader 79771 ext/sqlite3/libsqlite/sqlite3.c int nKey = pReader->nKey; pReader 79776 ext/sqlite3/libsqlite/sqlite3.c if( pReader->pFd==0 ) break; pReader 79781 ext/sqlite3/libsqlite/sqlite3.c vdbePmaWriteBlob(&writer, pReader->aKey, nKey); pReader 80128 ext/sqlite3/libsqlite/sqlite3.c PmaReader *pReader = (PmaReader*)pCtx; pReader 80130 ext/sqlite3/libsqlite/sqlite3.c vdbePmaReaderIncrMergeInit(pReader,INCRINIT_TASK) pReader 80132 ext/sqlite3/libsqlite/sqlite3.c pReader->pIncr->pTask->bDone = 1; pReader 80394 ext/sqlite3/libsqlite/sqlite3.c pSorter->pReader = pReadr; pReader 80485 ext/sqlite3/libsqlite/sqlite3.c assert( pSorter->pReader==0 ); pReader 80502 ext/sqlite3/libsqlite/sqlite3.c assert( pSorter->bUsePMA || (pSorter->pReader==0 && pSorter->pMerger==0) ); pReader 80504 ext/sqlite3/libsqlite/sqlite3.c assert( pSorter->pReader==0 || pSorter->pMerger==0 ); pReader 80505 ext/sqlite3/libsqlite/sqlite3.c assert( pSorter->bUseThreads==0 || pSorter->pReader ); pReader 80509 ext/sqlite3/libsqlite/sqlite3.c rc = vdbePmaReaderNext(pSorter->pReader); pReader 80510 ext/sqlite3/libsqlite/sqlite3.c *pbEof = (pSorter->pReader->pFd==0); pReader 80539 ext/sqlite3/libsqlite/sqlite3.c PmaReader *pReader; pReader 80542 ext/sqlite3/libsqlite/sqlite3.c pReader = pSorter->pReader; pReader 80546 ext/sqlite3/libsqlite/sqlite3.c pReader = &pSorter->pMerger->aReadr[pSorter->pMerger->aTree[1]]; pReader 80548 ext/sqlite3/libsqlite/sqlite3.c *pnKey = pReader->nKey; pReader 80549 ext/sqlite3/libsqlite/sqlite3.c pKey = pReader->aKey; pReader 144205 ext/sqlite3/libsqlite/sqlite3.c static int fts3SegReaderIncrRead(Fts3SegReader *pReader){ pReader 144209 ext/sqlite3/libsqlite/sqlite3.c nRead = MIN(pReader->nNode - pReader->nPopulate, FTS3_NODE_CHUNKSIZE); pReader 144211 ext/sqlite3/libsqlite/sqlite3.c pReader->pBlob, pReader 144212 ext/sqlite3/libsqlite/sqlite3.c &pReader->aNode[pReader->nPopulate], pReader 144214 ext/sqlite3/libsqlite/sqlite3.c pReader->nPopulate pReader 144218 ext/sqlite3/libsqlite/sqlite3.c pReader->nPopulate += nRead; pReader 144219 ext/sqlite3/libsqlite/sqlite3.c memset(&pReader->aNode[pReader->nPopulate], 0, FTS3_NODE_PADDING); pReader 144220 ext/sqlite3/libsqlite/sqlite3.c if( pReader->nPopulate==pReader->nNode ){ pReader 144221 ext/sqlite3/libsqlite/sqlite3.c sqlite3_blob_close(pReader->pBlob); pReader 144222 ext/sqlite3/libsqlite/sqlite3.c pReader->pBlob = 0; pReader 144223 ext/sqlite3/libsqlite/sqlite3.c pReader->nPopulate = 0; pReader 144229 ext/sqlite3/libsqlite/sqlite3.c static int fts3SegReaderRequire(Fts3SegReader *pReader, char *pFrom, int nByte){ pReader 144231 ext/sqlite3/libsqlite/sqlite3.c assert( !pReader->pBlob pReader 144232 ext/sqlite3/libsqlite/sqlite3.c || (pFrom>=pReader->aNode && pFrom<&pReader->aNode[pReader->nNode]) pReader 144234 ext/sqlite3/libsqlite/sqlite3.c while( pReader->pBlob && rc==SQLITE_OK pReader 144235 ext/sqlite3/libsqlite/sqlite3.c && (pFrom - pReader->aNode + nByte)>pReader->nPopulate pReader 144237 ext/sqlite3/libsqlite/sqlite3.c rc = fts3SegReaderIncrRead(pReader); pReader 144261 ext/sqlite3/libsqlite/sqlite3.c Fts3SegReader *pReader, pReader 144269 ext/sqlite3/libsqlite/sqlite3.c if( !pReader->aDoclist ){ pReader 144270 ext/sqlite3/libsqlite/sqlite3.c pNext = pReader->aNode; pReader 144272 ext/sqlite3/libsqlite/sqlite3.c pNext = &pReader->aDoclist[pReader->nDoclist]; pReader 144275 ext/sqlite3/libsqlite/sqlite3.c if( !pNext || pNext>=&pReader->aNode[pReader->nNode] ){ pReader 144277 ext/sqlite3/libsqlite/sqlite3.c if( fts3SegReaderIsPending(pReader) ){ pReader 144278 ext/sqlite3/libsqlite/sqlite3.c Fts3HashElem *pElem = *(pReader->ppNextElem); pReader 144280 ext/sqlite3/libsqlite/sqlite3.c pReader->aNode = 0; pReader 144283 ext/sqlite3/libsqlite/sqlite3.c pReader->zTerm = (char *)fts3HashKey(pElem); pReader 144284 ext/sqlite3/libsqlite/sqlite3.c pReader->nTerm = fts3HashKeysize(pElem); pReader 144285 ext/sqlite3/libsqlite/sqlite3.c pReader->nNode = pReader->nDoclist = pList->nData + 1; pReader 144286 ext/sqlite3/libsqlite/sqlite3.c pReader->aNode = pReader->aDoclist = pList->aData; pReader 144287 ext/sqlite3/libsqlite/sqlite3.c pReader->ppNextElem++; pReader 144288 ext/sqlite3/libsqlite/sqlite3.c assert( pReader->aNode ); pReader 144293 ext/sqlite3/libsqlite/sqlite3.c fts3SegReaderSetEof(pReader); pReader 144297 ext/sqlite3/libsqlite/sqlite3.c assert( pReader->iCurrentBlock<=pReader->iLeafEndBlock ); pReader 144298 ext/sqlite3/libsqlite/sqlite3.c if( pReader->iCurrentBlock>=pReader->iLeafEndBlock ){ pReader 144303 ext/sqlite3/libsqlite/sqlite3.c p, ++pReader->iCurrentBlock, &pReader->aNode, &pReader->nNode, pReader 144304 ext/sqlite3/libsqlite/sqlite3.c (bIncr ? &pReader->nPopulate : 0) pReader 144307 ext/sqlite3/libsqlite/sqlite3.c assert( pReader->pBlob==0 ); pReader 144308 ext/sqlite3/libsqlite/sqlite3.c if( bIncr && pReader->nPopulate<pReader->nNode ){ pReader 144309 ext/sqlite3/libsqlite/sqlite3.c pReader->pBlob = p->pSegments; pReader 144312 ext/sqlite3/libsqlite/sqlite3.c pNext = pReader->aNode; pReader 144315 ext/sqlite3/libsqlite/sqlite3.c assert( !fts3SegReaderIsPending(pReader) ); pReader 144317 ext/sqlite3/libsqlite/sqlite3.c rc = fts3SegReaderRequire(pReader, pNext, FTS3_VARINT_MAX*2); pReader 144325 ext/sqlite3/libsqlite/sqlite3.c || &pNext[nSuffix]>&pReader->aNode[pReader->nNode] pReader 144330 ext/sqlite3/libsqlite/sqlite3.c if( nPrefix+nSuffix>pReader->nTermAlloc ){ pReader 144332 ext/sqlite3/libsqlite/sqlite3.c char *zNew = sqlite3_realloc(pReader->zTerm, nNew); pReader 144336 ext/sqlite3/libsqlite/sqlite3.c pReader->zTerm = zNew; pReader 144337 ext/sqlite3/libsqlite/sqlite3.c pReader->nTermAlloc = nNew; pReader 144340 ext/sqlite3/libsqlite/sqlite3.c rc = fts3SegReaderRequire(pReader, pNext, nSuffix+FTS3_VARINT_MAX); pReader 144343 ext/sqlite3/libsqlite/sqlite3.c memcpy(&pReader->zTerm[nPrefix], pNext, nSuffix); pReader 144344 ext/sqlite3/libsqlite/sqlite3.c pReader->nTerm = nPrefix+nSuffix; pReader 144346 ext/sqlite3/libsqlite/sqlite3.c pNext += fts3GetVarint32(pNext, &pReader->nDoclist); pReader 144347 ext/sqlite3/libsqlite/sqlite3.c pReader->aDoclist = pNext; pReader 144348 ext/sqlite3/libsqlite/sqlite3.c pReader->pOffsetList = 0; pReader 144354 ext/sqlite3/libsqlite/sqlite3.c if( &pReader->aDoclist[pReader->nDoclist]>&pReader->aNode[pReader->nNode] pReader 144355 ext/sqlite3/libsqlite/sqlite3.c || (pReader->nPopulate==0 && pReader->aDoclist[pReader->nDoclist-1]) pReader 144366 ext/sqlite3/libsqlite/sqlite3.c static int fts3SegReaderFirstDocid(Fts3Table *pTab, Fts3SegReader *pReader){ pReader 144368 ext/sqlite3/libsqlite/sqlite3.c assert( pReader->aDoclist ); pReader 144369 ext/sqlite3/libsqlite/sqlite3.c assert( !pReader->pOffsetList ); pReader 144370 ext/sqlite3/libsqlite/sqlite3.c if( pTab->bDescIdx && fts3SegReaderIsPending(pReader) ){ pReader 144372 ext/sqlite3/libsqlite/sqlite3.c pReader->iDocid = 0; pReader 144373 ext/sqlite3/libsqlite/sqlite3.c pReader->nOffsetList = 0; pReader 144375 ext/sqlite3/libsqlite/sqlite3.c pReader->aDoclist, pReader->nDoclist, &pReader->pOffsetList, pReader 144376 ext/sqlite3/libsqlite/sqlite3.c &pReader->iDocid, &pReader->nOffsetList, &bEof pReader 144379 ext/sqlite3/libsqlite/sqlite3.c rc = fts3SegReaderRequire(pReader, pReader->aDoclist, FTS3_VARINT_MAX); pReader 144381 ext/sqlite3/libsqlite/sqlite3.c int n = sqlite3Fts3GetVarint(pReader->aDoclist, &pReader->iDocid); pReader 144382 ext/sqlite3/libsqlite/sqlite3.c pReader->pOffsetList = &pReader->aDoclist[n]; pReader 144400 ext/sqlite3/libsqlite/sqlite3.c Fts3SegReader *pReader, /* Reader to advance to next docid */ pReader 144405 ext/sqlite3/libsqlite/sqlite3.c char *p = pReader->pOffsetList; pReader 144410 ext/sqlite3/libsqlite/sqlite3.c if( pTab->bDescIdx && fts3SegReaderIsPending(pReader) ){ pReader 144416 ext/sqlite3/libsqlite/sqlite3.c *ppOffsetList = pReader->pOffsetList; pReader 144417 ext/sqlite3/libsqlite/sqlite3.c *pnOffsetList = pReader->nOffsetList - 1; pReader 144420 ext/sqlite3/libsqlite/sqlite3.c pReader->aDoclist, pReader->nDoclist, &p, &pReader->iDocid, pReader 144421 ext/sqlite3/libsqlite/sqlite3.c &pReader->nOffsetList, &bEof pReader 144424 ext/sqlite3/libsqlite/sqlite3.c pReader->pOffsetList = 0; pReader 144426 ext/sqlite3/libsqlite/sqlite3.c pReader->pOffsetList = p; pReader 144429 ext/sqlite3/libsqlite/sqlite3.c char *pEnd = &pReader->aDoclist[pReader->nDoclist]; pReader 144445 ext/sqlite3/libsqlite/sqlite3.c if( pReader->pBlob==0 || p<&pReader->aNode[pReader->nPopulate] ) break; pReader 144446 ext/sqlite3/libsqlite/sqlite3.c rc = fts3SegReaderIncrRead(pReader); pReader 144455 ext/sqlite3/libsqlite/sqlite3.c *ppOffsetList = pReader->pOffsetList; pReader 144456 ext/sqlite3/libsqlite/sqlite3.c *pnOffsetList = (int)(p - pReader->pOffsetList - 1); pReader 144468 ext/sqlite3/libsqlite/sqlite3.c pReader->pOffsetList = 0; pReader 144470 ext/sqlite3/libsqlite/sqlite3.c rc = fts3SegReaderRequire(pReader, p, FTS3_VARINT_MAX); pReader 144473 ext/sqlite3/libsqlite/sqlite3.c pReader->pOffsetList = p + sqlite3Fts3GetVarint(p, &iDelta); pReader 144475 ext/sqlite3/libsqlite/sqlite3.c pReader->iDocid -= iDelta; pReader 144477 ext/sqlite3/libsqlite/sqlite3.c pReader->iDocid += iDelta; pReader 144502 ext/sqlite3/libsqlite/sqlite3.c Fts3SegReader *pReader = pMsr->apSegment[ii]; pReader 144503 ext/sqlite3/libsqlite/sqlite3.c if( !fts3SegReaderIsPending(pReader) pReader 144504 ext/sqlite3/libsqlite/sqlite3.c && !fts3SegReaderIsRootOnly(pReader) pReader 144507 ext/sqlite3/libsqlite/sqlite3.c for(jj=pReader->iStartBlock; jj<=pReader->iLeafEndBlock; jj++){ pReader 144525 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE void sqlite3Fts3SegReaderFree(Fts3SegReader *pReader){ pReader 144526 ext/sqlite3/libsqlite/sqlite3.c if( pReader && !fts3SegReaderIsPending(pReader) ){ pReader 144527 ext/sqlite3/libsqlite/sqlite3.c sqlite3_free(pReader->zTerm); pReader 144528 ext/sqlite3/libsqlite/sqlite3.c if( !fts3SegReaderIsRootOnly(pReader) ){ pReader 144529 ext/sqlite3/libsqlite/sqlite3.c sqlite3_free(pReader->aNode); pReader 144530 ext/sqlite3/libsqlite/sqlite3.c sqlite3_blob_close(pReader->pBlob); pReader 144533 ext/sqlite3/libsqlite/sqlite3.c sqlite3_free(pReader); pReader 144549 ext/sqlite3/libsqlite/sqlite3.c Fts3SegReader *pReader; /* Newly allocated SegReader object */ pReader 144557 ext/sqlite3/libsqlite/sqlite3.c pReader = (Fts3SegReader *)sqlite3_malloc(sizeof(Fts3SegReader) + nExtra); pReader 144558 ext/sqlite3/libsqlite/sqlite3.c if( !pReader ){ pReader 144561 ext/sqlite3/libsqlite/sqlite3.c memset(pReader, 0, sizeof(Fts3SegReader)); pReader 144562 ext/sqlite3/libsqlite/sqlite3.c pReader->iIdx = iAge; pReader 144563 ext/sqlite3/libsqlite/sqlite3.c pReader->bLookup = bLookup!=0; pReader 144564 ext/sqlite3/libsqlite/sqlite3.c pReader->iStartBlock = iStartLeaf; pReader 144565 ext/sqlite3/libsqlite/sqlite3.c pReader->iLeafEndBlock = iEndLeaf; pReader 144566 ext/sqlite3/libsqlite/sqlite3.c pReader->iEndBlock = iEndBlock; pReader 144570 ext/sqlite3/libsqlite/sqlite3.c pReader->aNode = (char *)&pReader[1]; pReader 144571 ext/sqlite3/libsqlite/sqlite3.c pReader->rootOnly = 1; pReader 144572 ext/sqlite3/libsqlite/sqlite3.c pReader->nNode = nRoot; pReader 144573 ext/sqlite3/libsqlite/sqlite3.c memcpy(pReader->aNode, zRoot, nRoot); pReader 144574 ext/sqlite3/libsqlite/sqlite3.c memset(&pReader->aNode[nRoot], 0, FTS3_NODE_PADDING); pReader 144576 ext/sqlite3/libsqlite/sqlite3.c pReader->iCurrentBlock = iStartLeaf-1; pReader 144578 ext/sqlite3/libsqlite/sqlite3.c *ppReader = pReader; pReader 144631 ext/sqlite3/libsqlite/sqlite3.c Fts3SegReader *pReader = 0; /* Fts3SegReader object to return */ pReader 144689 ext/sqlite3/libsqlite/sqlite3.c pReader = (Fts3SegReader *)sqlite3_malloc(nByte); pReader 144690 ext/sqlite3/libsqlite/sqlite3.c if( !pReader ){ pReader 144693 ext/sqlite3/libsqlite/sqlite3.c memset(pReader, 0, nByte); pReader 144694 ext/sqlite3/libsqlite/sqlite3.c pReader->iIdx = 0x7FFFFFFF; pReader 144695 ext/sqlite3/libsqlite/sqlite3.c pReader->ppNextElem = (Fts3HashElem **)&pReader[1]; pReader 144696 ext/sqlite3/libsqlite/sqlite3.c memcpy(pReader->ppNextElem, aElem, nElem*sizeof(Fts3HashElem *)); pReader 144703 ext/sqlite3/libsqlite/sqlite3.c *ppReader = pReader;