Lines Matching refs:pLvl
156073 WhereLevel *pLvl, /* Level to add scanstatus() entry for */
156447 WhereLevel *pLvl, /* Level to add scanstatus() entry for */
156452 WhereLoop *pLoop = pLvl->pWLoop;
156459 zObj = pSrclist->a[pLvl->iFrom].zName;
156460 viaCoroutine = pSrclist->a[pLvl->iFrom].fg.viaCoroutine;
156463 v, addrExplain, pLvl->addrBody, pLvl->addrVisit, pLoop->nOut, zObj
156468 sqlite3VdbeScanStatusRange(v, addrExplain, -1, pLvl->iTabCur);
156471 sqlite3VdbeScanStatusRange(v, addrExplain, -1, pLvl->iIdxCur);
156474 int addr = pSrclist->a[pLvl->iFrom].addrFillSub;
239620 Fts5StructureLevel *pLvl = &pNew->aLevel[i];
239622 pLvl->aSeg = (Fts5StructureSegment*)sqlite3Fts5MallocZero(pRc, nByte);
239623 if( pLvl->aSeg==0 ){
239630 memcpy(pLvl->aSeg, p->aLevel[i].aSeg, nByte);
239699 Fts5StructureLevel *pLvl = &pRet->aLevel[iLvl];
239706 i += fts5GetVarint32(&pData[i], pLvl->nMerge);
239708 if( nTotal<pLvl->nMerge ) rc = FTS5_CORRUPT;
239709 pLvl->aSeg = (Fts5StructureSegment*)sqlite3Fts5MallocZero(&rc,
239716 pLvl->nSeg = nTotal;
239718 Fts5StructureSegment *pSeg = &pLvl->aSeg[iSeg];
239740 if( iLvl>0 && pLvl[-1].nMerge && nTotal==0 ) rc = FTS5_CORRUPT;
239741 if( iLvl==nLevel-1 && pLvl->nMerge ) rc = FTS5_CORRUPT;
239797 Fts5StructureLevel *pLvl = &pStruct->aLevel[iLvl];
239801 nByte = (pLvl->nSeg + nExtra) * sizeof(Fts5StructureSegment);
239802 aNew = sqlite3_realloc64(pLvl->aSeg, nByte);
239805 memset(&aNew[pLvl->nSeg], 0, sizeof(Fts5StructureSegment) * nExtra);
239807 int nMove = pLvl->nSeg * sizeof(Fts5StructureSegment);
239811 pLvl->aSeg = aNew;
239982 Fts5StructureLevel *pLvl = &pStruct->aLevel[iLvl];
239983 fts5BufferAppendVarint(&p->rc, &buf, pLvl->nMerge);
239984 fts5BufferAppendVarint(&p->rc, &buf, pLvl->nSeg);
239985 assert( pLvl->nMerge<=pLvl->nSeg );
239987 for(iSeg=0; iSeg<pLvl->nSeg; iSeg++){
239988 Fts5StructureSegment *pSeg = &pLvl->aSeg[iSeg];
240042 Fts5StructureLevel *pLvl = &pStruct->aLevel[il];
240043 if( pLvl->nMerge ) return;
240044 for(is=pLvl->nSeg-1; is>=0; is--){
240045 int sz = fts5SegmentSize(&pLvl->aSeg[is]);
240049 memcpy(pOut->aSeg, &pLvl->aSeg[is], sizeof(Fts5StructureSegment));
240051 pLvl->nSeg--;
240125 static int fts5DlidxLvlNext(Fts5DlidxLvl *pLvl){
240126 Fts5Data *pData = pLvl->pData;
240128 if( pLvl->iOff==0 ){
240129 assert( pLvl->bEof==0 );
240130 pLvl->iOff = 1;
240131 pLvl->iOff += fts5GetVarint32(&pData->p[1], pLvl->iLeafPgno);
240132 pLvl->iOff += fts5GetVarint(&pData->p[pLvl->iOff], (u64*)&pLvl->iRowid);
240133 pLvl->iFirstOff = pLvl->iOff;
240136 for(iOff=pLvl->iOff; iOff<pData->nn; iOff++){
240142 pLvl->iLeafPgno += (iOff - pLvl->iOff) + 1;
240144 pLvl->iRowid += iVal;
240145 pLvl->iOff = iOff;
240147 pLvl->bEof = 1;
240151 return pLvl->bEof;
240158 Fts5DlidxLvl *pLvl = &pIter->aLvl[iLvl];
240161 if( fts5DlidxLvlNext(pLvl) ){
240164 if( pLvl[1].bEof==0 ){
240165 fts5DataRelease(pLvl->pData);
240166 memset(pLvl, 0, sizeof(Fts5DlidxLvl));
240167 pLvl->pData = fts5DataRead(p,
240168 FTS5_DLIDX_ROWID(pIter->iSegid, iLvl, pLvl[1].iLeafPgno)
240170 if( pLvl->pData ) fts5DlidxLvlNext(pLvl);
240210 Fts5DlidxLvl *pLvl = &pIter->aLvl[i];
240211 while( fts5DlidxLvlNext(pLvl)==0 );
240212 pLvl->bEof = 0;
240215 Fts5DlidxLvl *pChild = &pLvl[-1];
240219 FTS5_DLIDX_ROWID(pIter->iSegid, i-1, pLvl->iLeafPgno)
240228 static int fts5DlidxLvlPrev(Fts5DlidxLvl *pLvl){
240229 int iOff = pLvl->iOff;
240231 assert( pLvl->bEof==0 );
240232 if( iOff<=pLvl->iFirstOff ){
240233 pLvl->bEof = 1;
240235 u8 *a = pLvl->pData->p;
240237 pLvl->iOff = 0;
240238 fts5DlidxLvlNext(pLvl);
240241 int ii = pLvl->iOff;
240251 pLvl->iLeafPgno += nZero+1;
240252 pLvl->iRowid += delta;
240253 pLvl->iOff = ii;
240257 return pLvl->bEof;
240261 Fts5DlidxLvl *pLvl = &pIter->aLvl[iLvl];
240264 if( fts5DlidxLvlPrev(pLvl) ){
240267 if( pLvl[1].bEof==0 ){
240268 fts5DataRelease(pLvl->pData);
240269 memset(pLvl, 0, sizeof(Fts5DlidxLvl));
240270 pLvl->pData = fts5DataRead(p,
240271 FTS5_DLIDX_ROWID(pIter->iSegid, iLvl, pLvl[1].iLeafPgno)
240273 if( pLvl->pData ){
240274 while( fts5DlidxLvlNext(pLvl)==0 );
240275 pLvl->bEof = 0;
240319 Fts5DlidxLvl *pLvl = &pNew->aLvl[i];
240321 memset(pLvl, 0, sizeof(Fts5DlidxLvl));
240322 pLvl->pData = fts5DataRead(p, iRowid);
240323 if( pLvl->pData && (pLvl->pData->p[0] & 0x0001)==0 ){
242482 Fts5StructureLevel *pLvl;
242518 for(pLvl=&pStruct->aLevel[0]; pLvl<pEnd; pLvl++){
242519 for(iSeg=pLvl->nSeg-1; iSeg>=0; iSeg--){
242520 Fts5StructureSegment *pSeg = &pLvl->aSeg[iSeg];
242530 pLvl = &pStruct->aLevel[iLevel];
242532 fts5SegIterInit(p, &pLvl->aSeg[iSeg], &pNew->aSeg[iIter++]);
243302 Fts5StructureLevel *pLvl = &pStruct->aLevel[iLvl];
243316 assert( pLvl->nMerge<=pLvl->nSeg );
243320 if( pLvl->nMerge ){
243323 nInput = pLvl->nMerge;
243340 pLvl = &pStruct->aLevel[iLvl];
243353 nInput = pLvl->nSeg;
243357 pSeg->iOrigin1 = pLvl->aSeg[0].iOrigin1;
243358 pSeg->iOrigin2 = pLvl->aSeg[pLvl->nSeg-1].iOrigin2;
243421 Fts5StructureSegment *pOld = &pLvl->aSeg[i];
243427 if( pLvl->nSeg!=nInput ){
243428 int nMove = (pLvl->nSeg - nInput) * sizeof(Fts5StructureSegment);
243429 memmove(pLvl->aSeg, &pLvl->aSeg[nInput], nMove);
243432 pLvl->nSeg -= nInput;
243433 pLvl->nMerge = 0;
243441 pLvl->nMerge = nInput;
243465 Fts5StructureLevel *pLvl = &pStruct->aLevel[ii];
243469 for(iSeg=0; iSeg<pLvl->nSeg; iSeg++){
243470 nEntry += pLvl->aSeg[iSeg].nEntry;
243471 nTomb += pLvl->aSeg[iSeg].nEntryTombstone;
243473 assert_nc( nEntry>0 || pLvl->nSeg==0 );
243509 Fts5StructureLevel *pLvl = &pStruct->aLevel[iLvl];
243510 if( pLvl->nMerge ){
243511 if( pLvl->nMerge>nBest ){
243517 if( pLvl->nSeg>nBest ){
243518 nBest = pLvl->nSeg;
244353 Fts5StructureLevel *pLvl;
244359 pLvl = &pNew->aLevel[pNew->nLevel-1];
244360 pLvl->aSeg = (Fts5StructureSegment*)sqlite3Fts5MallocZero(&p->rc, nByte);
244361 if( pLvl->aSeg ){
244369 pLvl->aSeg[iSegOut] = pStruct->aLevel[iLvl].aSeg[iSeg];
244373 pNew->nSegment = pLvl->nSeg = nSeg;
246899 Fts5StructureLevel *pLvl = &p->aLevel[iLvl];
246901 " {lvl=%d nMerge=%d nSeg=%d", iLvl, pLvl->nMerge, pLvl->nSeg
246903 for(iSeg=0; iSeg<pLvl->nSeg; iSeg++){
246904 Fts5StructureSegment *pSeg = &pLvl->aSeg[iSeg];