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;