Lines Matching refs:pLvl

151844   SrcList *pSrclist,              /* FROM clause pLvl reads data from */
151845 WhereLevel *pLvl, /* Level to add scanstatus() entry for */
152207 ** implement level pLvl. Argument pSrclist is a pointer to the FROM
152215 SrcList *pSrclist, /* FROM clause pLvl reads data from */
152216 WhereLevel *pLvl, /* Level to add scanstatus() entry for */
152220 WhereLoop *pLoop = pLvl->pWLoop;
152224 zObj = pSrclist->a[pLvl->iFrom].zName;
152227 v, addrExplain, pLvl->addrBody, pLvl->addrVisit, pLoop->nOut, zObj
230866 Fts5StructureLevel *pLvl = &pNew->aLevel[i];
230868 pLvl->aSeg = (Fts5StructureSegment*)sqlite3Fts5MallocZero(pRc, nByte);
230869 if( pLvl->aSeg==0 ){
230876 memcpy(pLvl->aSeg, p->aLevel[i].aSeg, nByte);
230937 Fts5StructureLevel *pLvl = &pRet->aLevel[iLvl];
230944 i += fts5GetVarint32(&pData[i], pLvl->nMerge);
230946 if( nTotal<pLvl->nMerge ) rc = FTS5_CORRUPT;
230947 pLvl->aSeg = (Fts5StructureSegment*)sqlite3Fts5MallocZero(&rc,
230954 pLvl->nSeg = nTotal;
230956 Fts5StructureSegment *pSeg = &pLvl->aSeg[iSeg];
230969 if( iLvl>0 && pLvl[-1].nMerge && nTotal==0 ) rc = FTS5_CORRUPT;
230970 if( iLvl==nLevel-1 && pLvl->nMerge ) rc = FTS5_CORRUPT;
231022 Fts5StructureLevel *pLvl = &pStruct->aLevel[iLvl];
231026 nByte = (pLvl->nSeg + nExtra) * sizeof(Fts5StructureSegment);
231027 aNew = sqlite3_realloc64(pLvl->aSeg, nByte);
231030 memset(&aNew[pLvl->nSeg], 0, sizeof(Fts5StructureSegment) * nExtra);
231032 int nMove = pLvl->nSeg * sizeof(Fts5StructureSegment);
231036 pLvl->aSeg = aNew;
231203 Fts5StructureLevel *pLvl = &pStruct->aLevel[iLvl];
231204 fts5BufferAppendVarint(&p->rc, &buf, pLvl->nMerge);
231205 fts5BufferAppendVarint(&p->rc, &buf, pLvl->nSeg);
231206 assert( pLvl->nMerge<=pLvl->nSeg );
231208 for(iSeg=0; iSeg<pLvl->nSeg; iSeg++){
231209 fts5BufferAppendVarint(&p->rc, &buf, pLvl->aSeg[iSeg].iSegid);
231210 fts5BufferAppendVarint(&p->rc, &buf, pLvl->aSeg[iSeg].pgnoFirst);
231211 fts5BufferAppendVarint(&p->rc, &buf, pLvl->aSeg[iSeg].pgnoLast);
231255 Fts5StructureLevel *pLvl = &pStruct->aLevel[il];
231256 if( pLvl->nMerge ) return;
231257 for(is=pLvl->nSeg-1; is>=0; is--){
231258 int sz = fts5SegmentSize(&pLvl->aSeg[is]);
231262 memcpy(pOut->aSeg, &pLvl->aSeg[is], sizeof(Fts5StructureSegment));
231264 pLvl->nSeg--;
231338 static int fts5DlidxLvlNext(Fts5DlidxLvl *pLvl){
231339 Fts5Data *pData = pLvl->pData;
231341 if( pLvl->iOff==0 ){
231342 assert( pLvl->bEof==0 );
231343 pLvl->iOff = 1;
231344 pLvl->iOff += fts5GetVarint32(&pData->p[1], pLvl->iLeafPgno);
231345 pLvl->iOff += fts5GetVarint(&pData->p[pLvl->iOff], (u64*)&pLvl->iRowid);
231346 pLvl->iFirstOff = pLvl->iOff;
231349 for(iOff=pLvl->iOff; iOff<pData->nn; iOff++){
231355 pLvl->iLeafPgno += (iOff - pLvl->iOff) + 1;
231357 pLvl->iRowid += iVal;
231358 pLvl->iOff = iOff;
231360 pLvl->bEof = 1;
231364 return pLvl->bEof;
231371 Fts5DlidxLvl *pLvl = &pIter->aLvl[iLvl];
231374 if( fts5DlidxLvlNext(pLvl) ){
231377 if( pLvl[1].bEof==0 ){
231378 fts5DataRelease(pLvl->pData);
231379 memset(pLvl, 0, sizeof(Fts5DlidxLvl));
231380 pLvl->pData = fts5DataRead(p,
231381 FTS5_DLIDX_ROWID(pIter->iSegid, iLvl, pLvl[1].iLeafPgno)
231383 if( pLvl->pData ) fts5DlidxLvlNext(pLvl);
231423 Fts5DlidxLvl *pLvl = &pIter->aLvl[i];
231424 while( fts5DlidxLvlNext(pLvl)==0 );
231425 pLvl->bEof = 0;
231428 Fts5DlidxLvl *pChild = &pLvl[-1];
231432 FTS5_DLIDX_ROWID(pIter->iSegid, i-1, pLvl->iLeafPgno)
231441 static int fts5DlidxLvlPrev(Fts5DlidxLvl *pLvl){
231442 int iOff = pLvl->iOff;
231444 assert( pLvl->bEof==0 );
231445 if( iOff<=pLvl->iFirstOff ){
231446 pLvl->bEof = 1;
231448 u8 *a = pLvl->pData->p;
231464 pLvl->iRowid -= iVal;
231465 pLvl->iLeafPgno--;
231468 for(ii=iOff-1; ii>=pLvl->iFirstOff && a[ii]==0x00; ii--){
231471 if( ii>=pLvl->iFirstOff && (a[ii] & 0x80) ){
231476 if( (ii-8)>=pLvl->iFirstOff ){
231483 pLvl->iLeafPgno -= nZero;
231484 pLvl->iOff = iOff - nZero;
231487 return pLvl->bEof;
231491 Fts5DlidxLvl *pLvl = &pIter->aLvl[iLvl];
231494 if( fts5DlidxLvlPrev(pLvl) ){
231497 if( pLvl[1].bEof==0 ){
231498 fts5DataRelease(pLvl->pData);
231499 memset(pLvl, 0, sizeof(Fts5DlidxLvl));
231500 pLvl->pData = fts5DataRead(p,
231501 FTS5_DLIDX_ROWID(pIter->iSegid, iLvl, pLvl[1].iLeafPgno)
231503 if( pLvl->pData ){
231504 while( fts5DlidxLvlNext(pLvl)==0 );
231505 pLvl->bEof = 0;
231549 Fts5DlidxLvl *pLvl = &pNew->aLvl[i];
231551 memset(pLvl, 0, sizeof(Fts5DlidxLvl));
231552 pLvl->pData = fts5DataRead(p, iRowid);
231553 if( pLvl->pData && (pLvl->pData->p[0] & 0x0001)==0 ){
233464 Fts5StructureLevel *pLvl;
233500 for(pLvl=&pStruct->aLevel[0]; pLvl<pEnd; pLvl++){
233501 for(iSeg=pLvl->nSeg-1; iSeg>=0; iSeg--){
233502 Fts5StructureSegment *pSeg = &pLvl->aSeg[iSeg];
233512 pLvl = &pStruct->aLevel[iLevel];
233514 fts5SegIterInit(p, &pLvl->aSeg[iSeg], &pNew->aSeg[iIter++]);
234299 Fts5StructureLevel *pLvl = &pStruct->aLevel[iLvl];
234313 assert( pLvl->nMerge<=pLvl->nSeg );
234317 if( pLvl->nMerge ){
234320 nInput = pLvl->nMerge;
234337 pLvl = &pStruct->aLevel[iLvl];
234350 nInput = pLvl->nSeg;
234411 fts5DataRemoveSegment(p, pLvl->aSeg[i].iSegid);
234415 if( pLvl->nSeg!=nInput ){
234416 int nMove = (pLvl->nSeg - nInput) * sizeof(Fts5StructureSegment);
234417 memmove(pLvl->aSeg, &pLvl->aSeg[nInput], nMove);
234420 pLvl->nSeg -= nInput;
234421 pLvl->nMerge = 0;
234429 pLvl->nMerge = nInput;
234459 Fts5StructureLevel *pLvl = &pStruct->aLevel[iLvl];
234460 if( pLvl->nMerge ){
234461 if( pLvl->nMerge>nBest ){
234463 nBest = pLvl->nMerge;
234467 if( pLvl->nSeg>nBest ){
234468 nBest = pLvl->nSeg;
234774 Fts5StructureLevel *pLvl;
234779 pLvl = &pNew->aLevel[pStruct->nLevel];
234780 pLvl->aSeg = (Fts5StructureSegment*)sqlite3Fts5MallocZero(&p->rc, nByte);
234781 if( pLvl->aSeg ){
234785 ** the new Fts5Level object so that pLvl->aSeg[0] is the oldest
234789 pLvl->aSeg[iSegOut] = pStruct->aLevel[iLvl].aSeg[iSeg];
234793 pNew->nSegment = pLvl->nSeg = nSeg;
236376 Fts5StructureLevel *pLvl = &p->aLevel[iLvl];
236378 " {lvl=%d nMerge=%d nSeg=%d", iLvl, pLvl->nMerge, pLvl->nSeg
236380 for(iSeg=0; iSeg<pLvl->nSeg; iSeg++){
236381 Fts5StructureSegment *pSeg = &pLvl->aSeg[iSeg];