Lines Matching defs:pTree

37095   struct RowSetEntry *pTree;     /* Binary tree of entries */
37121 p->pTree = 0;
37144 p->pTree = 0;
37346 ** sorted already. If there is a binary tree on p->pTree, then
37353 if( p->pTree ){
37355 rowSetTreeToList(p->pTree, &pHead, &pTail);
37356 p->pTree = 0;
37392 pRowSet->pTree = rowSetListToTree(pRowSet->pEntry);
37398 p = pRowSet->pTree;
122417 SegmentNode *pTree; /* Pointer to interior tree structure */
123993 SegmentNode *pTree = *ppTree;
124000 if( pTree ){
124001 int nData = pTree->nData; /* Current size of node in bytes */
124006 nPrefix = fts3PrefixCompress(pTree->zTerm, pTree->nTerm, zTerm, nTerm);
124010 if( nReq<=p->nNodeSize || !pTree->zTerm ){
124020 assert( pTree->aData==(char *)&pTree[1] );
124021 pTree->aData = (char *)sqlite3_malloc(nReq);
124022 if( !pTree->aData ){
124027 if( pTree->zTerm ){
124029 nData += sqlite3Fts3PutVarint(&pTree->aData[nData], nPrefix);
124032 nData += sqlite3Fts3PutVarint(&pTree->aData[nData], nSuffix);
124033 memcpy(&pTree->aData[nData], &zTerm[nPrefix], nSuffix);
124034 pTree->nData = nData + nSuffix;
124035 pTree->nEntry++;
124038 if( pTree->nMalloc<nTerm ){
124039 char *zNew = sqlite3_realloc(pTree->zMalloc, nTerm*2);
124043 pTree->nMalloc = nTerm*2;
124044 pTree->zMalloc = zNew;
124046 pTree->zTerm = pTree->zMalloc;
124047 memcpy(pTree->zTerm, zTerm, nTerm);
124048 pTree->nTerm = nTerm;
124050 pTree->zTerm = (char *)zTerm;
124051 pTree->nTerm = nTerm;
124062 ** now. Instead, the term is inserted into the parent of pTree. If pTree
124073 if( pTree ){
124074 SegmentNode *pParent = pTree->pParent;
124076 if( pTree->pParent==0 ){
124077 pTree->pParent = pParent;
124079 pTree->pRight = pNew;
124080 pNew->pLeftmost = pTree->pLeftmost;
124082 pNew->zMalloc = pTree->zMalloc;
124083 pNew->nMalloc = pTree->nMalloc;
124084 pTree->zMalloc = 0;
124098 SegmentNode *pTree,
124105 pTree->aData[nStart] = (char)iHeight;
124106 sqlite3Fts3PutVarint(&pTree->aData[nStart+1], iLeftChild);
124111 ** Write the buffer for the segment node pTree and all of its peers to the
124113 ** pTree and its peers to the database.
124115 ** Except, if pTree is a root node, do not write it to the database. Instead,
124125 SegmentNode *pTree, /* SegmentNode handle */
124135 if( !pTree->pParent ){
124137 int nStart = fts3TreeFinishNode(pTree, iHeight, iLeaf);
124139 *pnRoot = pTree->nData - nStart;
124140 *paRoot = &pTree->aData[nStart];
124145 for(pIter=pTree->pLeftmost; pIter && rc==SQLITE_OK; pIter=pIter->pRight){
124156 p, pTree->pParent, iHeight+1, iFree, iNextFree, piLast, paRoot, pnRoot
124165 ** Free all memory allocations associated with the tree pTree.
124167 static void fts3NodeFree(SegmentNode *pTree){
124168 if( pTree ){
124169 SegmentNode *p = pTree->pLeftmost;
124264 rc = fts3NodeAddTerm(p, &pWriter->pTree, isCopyTerm, zTerm, nPrefix+1);
124337 if( pWriter->pTree ){
124346 rc = fts3NodeWrite(p, pWriter->pTree, 1,
124369 fts3NodeFree(pWriter->pTree);