Lines Matching defs:pTree
39999 struct RowSetEntry *pTree = p->pForest->pLeft;
40000 if( pTree ){
40002 rowSetTreeToList(pTree
40047 struct RowSetEntry *p, *pTree;
40061 for(pTree = pRowSet->pForest; pTree; pTree=pTree->pRight){
40062 ppPrevTree = &pTree->pRight;
40063 if( pTree->pLeft==0 ){
40064 pTree->pLeft = rowSetListToTree(p);
40068 rowSetTreeToList(pTree->pLeft, &pAux, &pTail);
40069 pTree->pLeft = 0;
40073 if( pTree==0 ){
40074 *ppPrevTree = pTree = rowSetEntryAlloc(pRowSet);
40075 if( pTree ){
40076 pTree->v = 0;
40077 pTree->pRight = 0;
40078 pTree->pLeft = rowSetListToTree(p);
40091 for(pTree = pRowSet->pForest; pTree; pTree=pTree->pRight){
40092 p = pTree->pLeft;
136885 SegmentNode *pTree; /* Pointer to interior tree structure */
138684 SegmentNode *pTree = *ppTree;
138691 if( pTree ){
138692 int nData = pTree->nData; /* Current size of node in bytes */
138697 nPrefix = fts3PrefixCompress(pTree->zTerm, pTree->nTerm, zTerm, nTerm);
138701 if( nReq<=p->nNodeSize || !pTree->zTerm ){
138711 assert( pTree->aData==(char *)&pTree[1] );
138712 pTree->aData = (char *)sqlite3_malloc(nReq);
138713 if( !pTree->aData ){
138718 if( pTree->zTerm ){
138720 nData += sqlite3Fts3PutVarint(&pTree->aData[nData], nPrefix);
138723 nData += sqlite3Fts3PutVarint(&pTree->aData[nData], nSuffix);
138724 memcpy(&pTree->aData[nData], &zTerm[nPrefix], nSuffix);
138725 pTree->nData = nData + nSuffix;
138726 pTree->nEntry++;
138729 if( pTree->nMalloc<nTerm ){
138730 char *zNew = sqlite3_realloc(pTree->zMalloc, nTerm*2);
138734 pTree->nMalloc = nTerm*2;
138735 pTree->zMalloc = zNew;
138737 pTree->zTerm = pTree->zMalloc;
138738 memcpy(pTree->zTerm, zTerm, nTerm);
138739 pTree->nTerm = nTerm;
138741 pTree->zTerm = (char *)zTerm;
138742 pTree->nTerm = nTerm;
138753 ** now. Instead, the term is inserted into the parent of pTree. If pTree
138764 if( pTree ){
138765 SegmentNode *pParent = pTree->pParent;
138767 if( pTree->pParent==0 ){
138768 pTree->pParent = pParent;
138770 pTree->pRight = pNew;
138771 pNew->pLeftmost = pTree->pLeftmost;
138773 pNew->zMalloc = pTree->zMalloc;
138774 pNew->nMalloc = pTree->nMalloc;
138775 pTree->zMalloc = 0;
138789 SegmentNode *pTree,
138796 pTree->aData[nStart] = (char)iHeight;
138797 sqlite3Fts3PutVarint(&pTree->aData[nStart+1], iLeftChild);
138802 ** Write the buffer for the segment node pTree and all of its peers to the
138804 ** pTree and its peers to the database.
138806 ** Except, if pTree is a root node, do not write it to the database. Instead,
138816 SegmentNode *pTree, /* SegmentNode handle */
138826 if( !pTree->pParent ){
138828 int nStart = fts3TreeFinishNode(pTree, iHeight, iLeaf);
138830 *pnRoot = pTree->nData - nStart;
138831 *paRoot = &pTree->aData[nStart];
138836 for(pIter=pTree->pLeftmost; pIter && rc==SQLITE_OK; pIter=pIter->pRight){
138847 p, pTree->pParent, iHeight+1, iFree, iNextFree, piLast, paRoot, pnRoot
138856 ** Free all memory allocations associated with the tree pTree.
138858 static void fts3NodeFree(SegmentNode *pTree){
138859 if( pTree ){
138860 SegmentNode *p = pTree->pLeftmost;
138956 rc = fts3NodeAddTerm(p, &pWriter->pTree, isCopyTerm, zTerm, nPrefix+1);
139032 if( pWriter->pTree ){
139041 rc = fts3NodeWrite(p, pWriter->pTree, 1,
139065 fts3NodeFree(pWriter->pTree);