Lines Matching defs:pTree

51926   struct RowSetEntry *p, *pTree;
51942 for(pTree = pRowSet->pForest; pTree; pTree=pTree->pRight){
51943 ppPrevTree = &pTree->pRight;
51944 if( pTree->pLeft==0 ){
51945 pTree->pLeft = rowSetListToTree(p);
51949 rowSetTreeToList(pTree->pLeft, &pAux, &pTail);
51950 pTree->pLeft = 0;
51954 if( pTree==0 ){
51955 *ppPrevTree = pTree = rowSetEntryAlloc(pRowSet);
51956 if( pTree ){
51957 pTree->v = 0;
51958 pTree->pRight = 0;
51959 pTree->pLeft = rowSetListToTree(p);
51972 for(pTree = pRowSet->pForest; pTree; pTree=pTree->pRight){
51973 p = pTree->pLeft;
180411 SegmentNode *pTree; /* Pointer to interior tree structure */
182247 SegmentNode *pTree = *ppTree;
182254 if( pTree ){
182255 int nData = pTree->nData; /* Current size of node in bytes */
182260 nPrefix = fts3PrefixCompress(pTree->zTerm, pTree->nTerm, zTerm, nTerm);
182269 if( nReq<=p->nNodeSize || !pTree->zTerm ){
182279 assert( pTree->aData==(char *)&pTree[1] );
182280 pTree->aData = (char *)sqlite3_malloc(nReq);
182281 if( !pTree->aData ){
182286 if( pTree->zTerm ){
182288 nData += sqlite3Fts3PutVarint(&pTree->aData[nData], nPrefix);
182291 nData += sqlite3Fts3PutVarint(&pTree->aData[nData], nSuffix);
182292 memcpy(&pTree->aData[nData], &zTerm[nPrefix], nSuffix);
182293 pTree->nData = nData + nSuffix;
182294 pTree->nEntry++;
182297 if( pTree->nMalloc<nTerm ){
182298 char *zNew = sqlite3_realloc(pTree->zMalloc, nTerm*2);
182302 pTree->nMalloc = nTerm*2;
182303 pTree->zMalloc = zNew;
182305 pTree->zTerm = pTree->zMalloc;
182306 memcpy(pTree->zTerm, zTerm, nTerm);
182307 pTree->nTerm = nTerm;
182309 pTree->zTerm = (char *)zTerm;
182310 pTree->nTerm = nTerm;
182321 ** now. Instead, the term is inserted into the parent of pTree. If pTree
182332 if( pTree ){
182333 SegmentNode *pParent = pTree->pParent;
182335 if( pTree->pParent==0 ){
182336 pTree->pParent = pParent;
182338 pTree->pRight = pNew;
182339 pNew->pLeftmost = pTree->pLeftmost;
182341 pNew->zMalloc = pTree->zMalloc;
182342 pNew->nMalloc = pTree->nMalloc;
182343 pTree->zMalloc = 0;
182357 SegmentNode *pTree,
182364 pTree->aData[nStart] = (char)iHeight;
182365 sqlite3Fts3PutVarint(&pTree->aData[nStart+1], iLeftChild);
182370 ** Write the buffer for the segment node pTree and all of its peers to the
182372 ** pTree and its peers to the database.
182374 ** Except, if pTree is a root node, do not write it to the database. Instead,
182384 SegmentNode *pTree, /* SegmentNode handle */
182394 if( !pTree->pParent ){
182396 int nStart = fts3TreeFinishNode(pTree, iHeight, iLeaf);
182398 *pnRoot = pTree->nData - nStart;
182399 *paRoot = &pTree->aData[nStart];
182404 for(pIter=pTree->pLeftmost; pIter && rc==SQLITE_OK; pIter=pIter->pRight){
182415 p, pTree->pParent, iHeight+1, iFree, iNextFree, piLast, paRoot, pnRoot
182424 ** Free all memory allocations associated with the tree pTree.
182426 static void fts3NodeFree(SegmentNode *pTree){
182427 if( pTree ){
182428 SegmentNode *p = pTree->pLeftmost;
182530 rc = fts3NodeAddTerm(p, &pWriter->pTree, isCopyTerm, zTerm, nPrefix+1);
182609 if( pWriter->pTree ){
182618 rc = fts3NodeWrite(p, pWriter->pTree, 1,
182642 fts3NodeFree(pWriter->pTree);