Lines Matching refs:pTree

40019     struct RowSetEntry *pTree = p->pForest->pLeft;
40020 if( pTree ){
40022 rowSetTreeToList(pTree, &pHead, &pTail);
40067 struct RowSetEntry *p, *pTree;
40081 for(pTree = pRowSet->pForest; pTree; pTree=pTree->pRight){
40082 ppPrevTree = &pTree->pRight;
40083 if( pTree->pLeft==0 ){
40084 pTree->pLeft = rowSetListToTree(p);
40088 rowSetTreeToList(pTree->pLeft, &pAux, &pTail);
40089 pTree->pLeft = 0;
40093 if( pTree==0 ){
40094 *ppPrevTree = pTree = rowSetEntryAlloc(pRowSet);
40095 if( pTree ){
40096 pTree->v = 0;
40097 pTree->pRight = 0;
40098 pTree->pLeft = rowSetListToTree(p);
40111 for(pTree = pRowSet->pForest; pTree; pTree=pTree->pRight){
40112 p = pTree->pLeft;
136917 SegmentNode *pTree; /* Pointer to interior tree structure */
138716 SegmentNode *pTree = *ppTree;
138723 if( pTree ){
138724 int nData = pTree->nData; /* Current size of node in bytes */
138729 nPrefix = fts3PrefixCompress(pTree->zTerm, pTree->nTerm, zTerm, nTerm);
138733 if( nReq<=p->nNodeSize || !pTree->zTerm ){
138743 assert( pTree->aData==(char *)&pTree[1] );
138744 pTree->aData = (char *)sqlite3_malloc(nReq);
138745 if( !pTree->aData ){
138750 if( pTree->zTerm ){
138752 nData += sqlite3Fts3PutVarint(&pTree->aData[nData], nPrefix);
138755 nData += sqlite3Fts3PutVarint(&pTree->aData[nData], nSuffix);
138756 memcpy(&pTree->aData[nData], &zTerm[nPrefix], nSuffix);
138757 pTree->nData = nData + nSuffix;
138758 pTree->nEntry++;
138761 if( pTree->nMalloc<nTerm ){
138762 char *zNew = sqlite3_realloc(pTree->zMalloc, nTerm*2);
138766 pTree->nMalloc = nTerm*2;
138767 pTree->zMalloc = zNew;
138769 pTree->zTerm = pTree->zMalloc;
138770 memcpy(pTree->zTerm, zTerm, nTerm);
138771 pTree->nTerm = nTerm;
138773 pTree->zTerm = (char *)zTerm;
138774 pTree->nTerm = nTerm;
138785 ** now. Instead, the term is inserted into the parent of pTree. If pTree
138796 if( pTree ){
138797 SegmentNode *pParent = pTree->pParent;
138799 if( pTree->pParent==0 ){
138800 pTree->pParent = pParent;
138802 pTree->pRight = pNew;
138803 pNew->pLeftmost = pTree->pLeftmost;
138805 pNew->zMalloc = pTree->zMalloc;
138806 pNew->nMalloc = pTree->nMalloc;
138807 pTree->zMalloc = 0;
138821 SegmentNode *pTree,
138828 pTree->aData[nStart] = (char)iHeight;
138829 sqlite3Fts3PutVarint(&pTree->aData[nStart+1], iLeftChild);
138834 ** Write the buffer for the segment node pTree and all of its peers to the
138836 ** pTree and its peers to the database.
138838 ** Except, if pTree is a root node, do not write it to the database. Instead,
138848 SegmentNode *pTree, /* SegmentNode handle */
138858 if( !pTree->pParent ){
138860 int nStart = fts3TreeFinishNode(pTree, iHeight, iLeaf);
138862 *pnRoot = pTree->nData - nStart;
138863 *paRoot = &pTree->aData[nStart];
138868 for(pIter=pTree->pLeftmost; pIter && rc==SQLITE_OK; pIter=pIter->pRight){
138879 p, pTree->pParent, iHeight+1, iFree, iNextFree, piLast, paRoot, pnRoot
138888 ** Free all memory allocations associated with the tree pTree.
138890 static void fts3NodeFree(SegmentNode *pTree){
138891 if( pTree ){
138892 SegmentNode *p = pTree->pLeftmost;
138988 rc = fts3NodeAddTerm(p, &pWriter->pTree, isCopyTerm, zTerm, nPrefix+1);
139064 if( pWriter->pTree ){
139073 rc = fts3NodeWrite(p, pWriter->pTree, 1,
139097 fts3NodeFree(pWriter->pTree);