Lines Matching refs:pMerger

106694   MergeEngine *pMerger;           /* Or here, if bUseThreads==0 */  member
106772 MergeEngine *pMerger; /* Merge engine thread reads data from */ member
107586 static void vdbeMergeEngineFree(MergeEngine *pMerger){ argument
107588 if( pMerger ){
107589 for(i=0; i<pMerger->nTree; i++){
107590 vdbePmaReaderClear(&pMerger->aReadr[i]);
107593 sqlite3_free(pMerger);
107609 vdbeMergeEngineFree(pIncr->pMerger);
107628 vdbeMergeEngineFree(pSorter->pMerger);
107629 pSorter->pMerger = 0;
108013 MergeEngine *pMerger, /* The merge engine to advance to the next row */ argument
108017 int iPrev = pMerger->aTree[1];/* Index of PmaReader to advance */
108018 SortSubtask *pTask = pMerger->pTask;
108021 rc = vdbePmaReaderNext(&pMerger->aReadr[iPrev]);
108032 pReadr1 = &pMerger->aReadr[(iPrev & 0xFFFE)];
108033 pReadr2 = &pMerger->aReadr[(iPrev | 0x0001)];
108035 for(i=(pMerger->nTree+iPrev)/2; i>0; i=i/2){
108064 pMerger->aTree[i] = (int)(pReadr1 - pMerger->aReadr);
108065 pReadr2 = &pMerger->aReadr[ pMerger->aTree[i ^ 0x0001] ];
108069 pMerger->aTree[i] = (int)(pReadr2 - pMerger->aReadr);
108070 pReadr1 = &pMerger->aReadr[ pMerger->aTree[i ^ 0x0001] ];
108073 *pbEof = (pMerger->aReadr[pMerger->aTree[1]].pFd==0);
108285 MergeEngine *pMerger = pIncr->pMerger; local
108294 PmaReader *pReader = &pMerger->aReadr[ pMerger->aTree[1] ];
108306 assert( pIncr->pMerger->pTask==pTask );
108307 rc = vdbeMergeEngineStep(pIncr->pMerger, &dummy);
108396 MergeEngine *pMerger, /* The MergeEngine that the IncrMerger will control */ argument
108403 pIncr->pMerger = pMerger;
108408 vdbeMergeEngineFree(pMerger);
108433 MergeEngine *pMerger, /* Merge engine containing PmaReaders to compare */ argument
108442 assert( iOut<pMerger->nTree && iOut>0 );
108444 if( iOut>=(pMerger->nTree/2) ){
108445 i1 = (iOut - pMerger->nTree/2) * 2;
108448 i1 = pMerger->aTree[iOut*2];
108449 i2 = pMerger->aTree[iOut*2+1];
108452 p1 = &pMerger->aReadr[i1];
108453 p2 = &pMerger->aReadr[i2];
108460 SortSubtask *pTask = pMerger->pTask;
108474 pMerger->aTree[iOut] = iRes;
108516 MergeEngine *pMerger, /* MergeEngine to initialize */ argument
108525 assert( pMerger!=0 );
108531 assert( pMerger->pTask==0 );
108532 pMerger->pTask = pTask;
108534 nTree = pMerger->nTree;
108544 rc = vdbePmaReaderNext(&pMerger->aReadr[nTree-i-1]);
108546 rc = vdbePmaReaderIncrInit(&pMerger->aReadr[i], INCRINIT_NORMAL);
108551 for(i=pMerger->nTree-1; i>0; i--){
108552 vdbeMergeEngineCompare(pMerger, i);
108599 rc = vdbeMergeEngineInit(pTask, pIncr->pMerger, eMode);
108797 p = pReadr->pIncr->pMerger;
108856 MergeEngine *pMerger = 0; /* New level-0 PMA merger */ local
108860 rc = vdbeMergeEngineLevel0(pTask, nReader, &iReadOff, &pMerger);
108862 rc = vdbeSorterAddToTree(pTask, nDepth, iSeq++, pRoot, pMerger);
108965 pSorter->pMerger = pMain;
109040 assert( pSorter->bUsePMA || (pSorter->pReader==0 && pSorter->pMerger==0) );
109042 assert( pSorter->pReader==0 || pSorter->pMerger==0 );
109044 assert( pSorter->bUseThreads==1 || pSorter->pMerger );
109053 assert( pSorter->pMerger!=0 );
109054 assert( pSorter->pMerger->pTask==(&pSorter->aTask[0]) );
109055 rc = vdbeMergeEngineStep(pSorter->pMerger, &res);
109085 pReader = &pSorter->pMerger->aReadr[pSorter->pMerger->aTree[1]];