Lines Matching refs:pReadr

469 static void vdbePmaReaderClear(PmaReader *pReadr){  in vdbePmaReaderClear()  argument
470 sqlite3_free(pReadr->aAlloc); in vdbePmaReaderClear()
471 sqlite3_free(pReadr->aBuffer); in vdbePmaReaderClear()
472 if( pReadr->aMap ) sqlite3OsUnfetch(pReadr->pFd, 0, pReadr->aMap); in vdbePmaReaderClear()
473 vdbeIncrFree(pReadr->pIncr); in vdbePmaReaderClear()
474 memset(pReadr, 0, sizeof(PmaReader)); in vdbePmaReaderClear()
632 PmaReader *pReadr, /* Reader whose cursor is to be moved */ in vdbePmaReaderSeek() argument
638 assert( pReadr->pIncr==0 || pReadr->pIncr->bEof==0 ); in vdbePmaReaderSeek()
641 if( pReadr->aMap ){ in vdbePmaReaderSeek()
642 sqlite3OsUnfetch(pReadr->pFd, 0, pReadr->aMap); in vdbePmaReaderSeek()
643 pReadr->aMap = 0; in vdbePmaReaderSeek()
645 pReadr->iReadOff = iOff; in vdbePmaReaderSeek()
646 pReadr->iEof = pFile->iEof; in vdbePmaReaderSeek()
647 pReadr->pFd = pFile->pFd; in vdbePmaReaderSeek()
649 rc = vdbeSorterMapFile(pTask, pFile, &pReadr->aMap); in vdbePmaReaderSeek()
650 if( rc==SQLITE_OK && pReadr->aMap==0 ){ in vdbePmaReaderSeek()
652 int iBuf = pReadr->iReadOff % pgsz; in vdbePmaReaderSeek()
653 if( pReadr->aBuffer==0 ){ in vdbePmaReaderSeek()
654 pReadr->aBuffer = (u8*)sqlite3Malloc(pgsz); in vdbePmaReaderSeek()
655 if( pReadr->aBuffer==0 ) rc = SQLITE_NOMEM_BKPT; in vdbePmaReaderSeek()
656 pReadr->nBuffer = pgsz; in vdbePmaReaderSeek()
660 if( (pReadr->iReadOff + nRead) > pReadr->iEof ){ in vdbePmaReaderSeek()
661 nRead = (int)(pReadr->iEof - pReadr->iReadOff); in vdbePmaReaderSeek()
664 pReadr->pFd, &pReadr->aBuffer[iBuf], nRead, pReadr->iReadOff in vdbePmaReaderSeek()
677 static int vdbePmaReaderNext(PmaReader *pReadr){ in vdbePmaReaderNext() argument
682 if( pReadr->iReadOff>=pReadr->iEof ){ in vdbePmaReaderNext()
683 IncrMerger *pIncr = pReadr->pIncr; in vdbePmaReaderNext()
689 pIncr->pTask, pReadr, &pIncr->aFile[0], pIncr->iStartOff in vdbePmaReaderNext()
697 vdbePmaReaderClear(pReadr); in vdbePmaReaderNext()
704 rc = vdbePmaReadVarint(pReadr, &nRec); in vdbePmaReaderNext()
707 pReadr->nKey = (int)nRec; in vdbePmaReaderNext()
708 rc = vdbePmaReadBlob(pReadr, (int)nRec, &pReadr->aKey); in vdbePmaReaderNext()
728 PmaReader *pReadr, /* PmaReader to populate */ in vdbePmaReaderInit() argument
734 assert( pReadr->aAlloc==0 && pReadr->nAlloc==0 ); in vdbePmaReaderInit()
735 assert( pReadr->aBuffer==0 ); in vdbePmaReaderInit()
736 assert( pReadr->aMap==0 ); in vdbePmaReaderInit()
738 rc = vdbePmaReaderSeek(pTask, pReadr, pFile, iStart); in vdbePmaReaderInit()
741 rc = vdbePmaReadVarint(pReadr, &nByte); in vdbePmaReaderInit()
742 pReadr->iEof = pReadr->iReadOff + nByte; in vdbePmaReaderInit()
747 rc = vdbePmaReaderNext(pReadr); in vdbePmaReaderInit()
2094 static int vdbePmaReaderIncrInit(PmaReader *pReadr, int eMode);
2190 static int vdbePmaReaderIncrMergeInit(PmaReader *pReadr, int eMode){ in vdbePmaReaderIncrMergeInit() argument
2192 IncrMerger *pIncr = pReadr->pIncr; in vdbePmaReaderIncrMergeInit()
2246 rc = vdbePmaReaderNext(pReadr); in vdbePmaReaderIncrMergeInit()
2278 static int vdbePmaReaderIncrInit(PmaReader *pReadr, int eMode){ in vdbePmaReaderIncrInit() argument
2279 IncrMerger *pIncr = pReadr->pIncr; /* Incremental merger */ in vdbePmaReaderIncrInit()
2285 void *pCtx = (void*)pReadr; in vdbePmaReaderIncrInit()
2290 rc = vdbePmaReaderIncrMergeInit(pReadr, eMode); in vdbePmaReaderIncrInit()
2324 PmaReader *pReadr = &pNew->aReadr[i]; in vdbeMergeEngineLevel0() local
2325 rc = vdbePmaReaderInit(pTask, &pTask->file, iOff, pReadr, &nDummy); in vdbeMergeEngineLevel0()
2326 iOff = pReadr->iEof; in vdbeMergeEngineLevel0()
2386 PmaReader *pReadr = &p->aReadr[iIter]; in vdbeSorterAddToTree() local
2388 if( pReadr->pIncr==0 ){ in vdbeSorterAddToTree()
2393 rc = vdbeIncrMergerNew(pTask, pNew, &pReadr->pIncr); in vdbeSorterAddToTree()
2397 p = pReadr->pIncr->pMerger; in vdbeSorterAddToTree()
2519 PmaReader *pReadr = 0; in vdbeSorterSetupMerge() local
2523 pReadr = (PmaReader*)sqlite3DbMallocZero(db, sizeof(PmaReader)); in vdbeSorterSetupMerge()
2524 pSorter->pReader = pReadr; in vdbeSorterSetupMerge()
2525 if( pReadr==0 ) rc = SQLITE_NOMEM_BKPT; in vdbeSorterSetupMerge()
2528 rc = vdbeIncrMergerNew(pLast, pMain, &pReadr->pIncr); in vdbeSorterSetupMerge()
2530 vdbeIncrMergerSetThreads(pReadr->pIncr); in vdbeSorterSetupMerge()
2559 rc = vdbePmaReaderIncrMergeInit(pReadr, INCRINIT_ROOT); in vdbeSorterSetupMerge()