pWriter          52523 ext/sqlite3/libsqlite/sqlite3.c   Btree *pWriter;       /* Btree with currently open write transaction */
pWriter          53311 ext/sqlite3/libsqlite/sqlite3.c   assert( eLock==READ_LOCK || (p==pBt->pWriter && p->inTrans==TRANS_WRITE) );
pWriter          53322 ext/sqlite3/libsqlite/sqlite3.c   if( pBt->pWriter!=p && (pBt->btsFlags & BTS_EXCLUSIVE)!=0 ){
pWriter          53323 ext/sqlite3/libsqlite/sqlite3.c     sqlite3ConnectionBlocked(p->db, pBt->pWriter->db);
pWriter          53342 ext/sqlite3/libsqlite/sqlite3.c         assert( p==pBt->pWriter );
pWriter          53444 ext/sqlite3/libsqlite/sqlite3.c     assert( (pBt->btsFlags & BTS_EXCLUSIVE)==0 || pBt->pWriter==pLock->pBtree );
pWriter          53457 ext/sqlite3/libsqlite/sqlite3.c   assert( (pBt->btsFlags & BTS_PENDING)==0 || pBt->pWriter );
pWriter          53458 ext/sqlite3/libsqlite/sqlite3.c   if( pBt->pWriter==p ){
pWriter          53459 ext/sqlite3/libsqlite/sqlite3.c     pBt->pWriter = 0;
pWriter          53480 ext/sqlite3/libsqlite/sqlite3.c   if( pBt->pWriter==p ){
pWriter          53482 ext/sqlite3/libsqlite/sqlite3.c     pBt->pWriter = 0;
pWriter          55961 ext/sqlite3/libsqlite/sqlite3.c     pBlock = pBt->pWriter->db;
pWriter          56032 ext/sqlite3/libsqlite/sqlite3.c       assert( !pBt->pWriter );
pWriter          56033 ext/sqlite3/libsqlite/sqlite3.c       pBt->pWriter = p;
pWriter          145159 ext/sqlite3/libsqlite/sqlite3.c   SegmentWriter *pWriter = *ppWriter;
pWriter          145161 ext/sqlite3/libsqlite/sqlite3.c   if( !pWriter ){
pWriter          145166 ext/sqlite3/libsqlite/sqlite3.c     pWriter = (SegmentWriter *)sqlite3_malloc(sizeof(SegmentWriter));
pWriter          145167 ext/sqlite3/libsqlite/sqlite3.c     if( !pWriter ) return SQLITE_NOMEM;
pWriter          145168 ext/sqlite3/libsqlite/sqlite3.c     memset(pWriter, 0, sizeof(SegmentWriter));
pWriter          145169 ext/sqlite3/libsqlite/sqlite3.c     *ppWriter = pWriter;
pWriter          145172 ext/sqlite3/libsqlite/sqlite3.c     pWriter->aData = (char *)sqlite3_malloc(p->nNodeSize);
pWriter          145173 ext/sqlite3/libsqlite/sqlite3.c     if( !pWriter->aData ) return SQLITE_NOMEM;
pWriter          145174 ext/sqlite3/libsqlite/sqlite3.c     pWriter->nSize = p->nNodeSize;
pWriter          145180 ext/sqlite3/libsqlite/sqlite3.c       pWriter->iFree = sqlite3_column_int64(pStmt, 0);
pWriter          145181 ext/sqlite3/libsqlite/sqlite3.c       pWriter->iFirst = pWriter->iFree;
pWriter          145186 ext/sqlite3/libsqlite/sqlite3.c   nData = pWriter->nData;
pWriter          145188 ext/sqlite3/libsqlite/sqlite3.c   nPrefix = fts3PrefixCompress(pWriter->zTerm, pWriter->nTerm, zTerm, nTerm);
pWriter          145202 ext/sqlite3/libsqlite/sqlite3.c     rc = fts3WriteSegment(p, pWriter->iFree++, pWriter->aData, nData);
pWriter          145219 ext/sqlite3/libsqlite/sqlite3.c     rc = fts3NodeAddTerm(p, &pWriter->pTree, isCopyTerm, zTerm, nPrefix+1);
pWriter          145223 ext/sqlite3/libsqlite/sqlite3.c     pWriter->nTerm = 0;
pWriter          145235 ext/sqlite3/libsqlite/sqlite3.c   pWriter->nLeafData += nReq;
pWriter          145240 ext/sqlite3/libsqlite/sqlite3.c   if( nReq>pWriter->nSize ){
pWriter          145241 ext/sqlite3/libsqlite/sqlite3.c     char *aNew = sqlite3_realloc(pWriter->aData, nReq);
pWriter          145243 ext/sqlite3/libsqlite/sqlite3.c     pWriter->aData = aNew;
pWriter          145244 ext/sqlite3/libsqlite/sqlite3.c     pWriter->nSize = nReq;
pWriter          145246 ext/sqlite3/libsqlite/sqlite3.c   assert( nData+nReq<=pWriter->nSize );
pWriter          145249 ext/sqlite3/libsqlite/sqlite3.c   nData += sqlite3Fts3PutVarint(&pWriter->aData[nData], nPrefix);
pWriter          145250 ext/sqlite3/libsqlite/sqlite3.c   nData += sqlite3Fts3PutVarint(&pWriter->aData[nData], nSuffix);
pWriter          145251 ext/sqlite3/libsqlite/sqlite3.c   memcpy(&pWriter->aData[nData], &zTerm[nPrefix], nSuffix);
pWriter          145253 ext/sqlite3/libsqlite/sqlite3.c   nData += sqlite3Fts3PutVarint(&pWriter->aData[nData], nDoclist);
pWriter          145254 ext/sqlite3/libsqlite/sqlite3.c   memcpy(&pWriter->aData[nData], aDoclist, nDoclist);
pWriter          145255 ext/sqlite3/libsqlite/sqlite3.c   pWriter->nData = nData + nDoclist;
pWriter          145263 ext/sqlite3/libsqlite/sqlite3.c     if( nTerm>pWriter->nMalloc ){
pWriter          145264 ext/sqlite3/libsqlite/sqlite3.c       char *zNew = sqlite3_realloc(pWriter->zMalloc, nTerm*2);
pWriter          145268 ext/sqlite3/libsqlite/sqlite3.c       pWriter->nMalloc = nTerm*2;
pWriter          145269 ext/sqlite3/libsqlite/sqlite3.c       pWriter->zMalloc = zNew;
pWriter          145270 ext/sqlite3/libsqlite/sqlite3.c       pWriter->zTerm = zNew;
pWriter          145272 ext/sqlite3/libsqlite/sqlite3.c     assert( pWriter->zTerm==pWriter->zMalloc );
pWriter          145273 ext/sqlite3/libsqlite/sqlite3.c     memcpy(pWriter->zTerm, zTerm, nTerm);
pWriter          145275 ext/sqlite3/libsqlite/sqlite3.c     pWriter->zTerm = (char *)zTerm;
pWriter          145277 ext/sqlite3/libsqlite/sqlite3.c   pWriter->nTerm = nTerm;
pWriter          145290 ext/sqlite3/libsqlite/sqlite3.c   SegmentWriter *pWriter,         /* SegmentWriter to flush to the db */
pWriter          145295 ext/sqlite3/libsqlite/sqlite3.c   if( pWriter->pTree ){
pWriter          145301 ext/sqlite3/libsqlite/sqlite3.c     iLastLeaf = pWriter->iFree;
pWriter          145302 ext/sqlite3/libsqlite/sqlite3.c     rc = fts3WriteSegment(p, pWriter->iFree++, pWriter->aData, pWriter->nData);
pWriter          145304 ext/sqlite3/libsqlite/sqlite3.c       rc = fts3NodeWrite(p, pWriter->pTree, 1,
pWriter          145305 ext/sqlite3/libsqlite/sqlite3.c           pWriter->iFirst, pWriter->iFree, &iLast, &zRoot, &nRoot);
pWriter          145309 ext/sqlite3/libsqlite/sqlite3.c           pWriter->iFirst, iLastLeaf, iLast, pWriter->nLeafData, zRoot, nRoot);
pWriter          145314 ext/sqlite3/libsqlite/sqlite3.c         0, 0, 0, pWriter->nLeafData, pWriter->aData, pWriter->nData);
pWriter          145324 ext/sqlite3/libsqlite/sqlite3.c static void fts3SegWriterFree(SegmentWriter *pWriter){
pWriter          145325 ext/sqlite3/libsqlite/sqlite3.c   if( pWriter ){
pWriter          145326 ext/sqlite3/libsqlite/sqlite3.c     sqlite3_free(pWriter->aData);
pWriter          145327 ext/sqlite3/libsqlite/sqlite3.c     sqlite3_free(pWriter->zMalloc);
pWriter          145328 ext/sqlite3/libsqlite/sqlite3.c     fts3NodeFree(pWriter->pTree);
pWriter          145329 ext/sqlite3/libsqlite/sqlite3.c     sqlite3_free(pWriter);
pWriter          146118 ext/sqlite3/libsqlite/sqlite3.c   SegmentWriter *pWriter = 0;     /* Used to write the new, merged, segment */
pWriter          146175 ext/sqlite3/libsqlite/sqlite3.c     rc = fts3SegWriterAdd(p, &pWriter, 1, 
pWriter          146179 ext/sqlite3/libsqlite/sqlite3.c   assert( pWriter || bIgnoreEmpty );
pWriter          146187 ext/sqlite3/libsqlite/sqlite3.c   if( pWriter ){
pWriter          146188 ext/sqlite3/libsqlite/sqlite3.c     rc = fts3SegWriterFlush(p, pWriter, iNewLevel, iIdx);
pWriter          146191 ext/sqlite3/libsqlite/sqlite3.c         rc = fts3PromoteSegments(p, iNewLevel, pWriter->nLeafData);
pWriter          146197 ext/sqlite3/libsqlite/sqlite3.c   fts3SegWriterFree(pWriter);
pWriter          146735 ext/sqlite3/libsqlite/sqlite3.c   IncrmergeWriter *pWriter,       /* Writer object */
pWriter          146739 ext/sqlite3/libsqlite/sqlite3.c   sqlite3_int64 iPtr = pWriter->aNodeWriter[0].iBlock;
pWriter          146745 ext/sqlite3/libsqlite/sqlite3.c     NodeWriter *pNode = &pWriter->aNodeWriter[iLayer];
pWriter          146886 ext/sqlite3/libsqlite/sqlite3.c   IncrmergeWriter *pWriter,       /* Writer object */
pWriter          146899 ext/sqlite3/libsqlite/sqlite3.c   pLeaf = &pWriter->aNodeWriter[0];
pWriter          146912 ext/sqlite3/libsqlite/sqlite3.c     pWriter->nWork++;
pWriter          146927 ext/sqlite3/libsqlite/sqlite3.c       rc = fts3IncrmergePush(p, pWriter, zTerm, nPrefix+1);
pWriter          146941 ext/sqlite3/libsqlite/sqlite3.c   pWriter->nLeafData += nSpace;
pWriter          146971 ext/sqlite3/libsqlite/sqlite3.c   IncrmergeWriter *pWriter,       /* Merge-writer object */
pWriter          146984 ext/sqlite3/libsqlite/sqlite3.c     NodeWriter *pNode = &pWriter->aNodeWriter[iRoot];
pWriter          147011 ext/sqlite3/libsqlite/sqlite3.c     Blob *pBlock = &pWriter->aNodeWriter[1].block;
pWriter          147016 ext/sqlite3/libsqlite/sqlite3.c           &pBlock->a[1], pWriter->aNodeWriter[0].iBlock
pWriter          147021 ext/sqlite3/libsqlite/sqlite3.c   pRoot = &pWriter->aNodeWriter[iRoot];
pWriter          147025 ext/sqlite3/libsqlite/sqlite3.c     NodeWriter *pNode = &pWriter->aNodeWriter[i];
pWriter          147036 ext/sqlite3/libsqlite/sqlite3.c         pWriter->iAbsLevel+1,               /* level */
pWriter          147037 ext/sqlite3/libsqlite/sqlite3.c         pWriter->iIdx,                      /* idx */
pWriter          147038 ext/sqlite3/libsqlite/sqlite3.c         pWriter->iStart,                    /* start_block */
pWriter          147039 ext/sqlite3/libsqlite/sqlite3.c         pWriter->aNodeWriter[0].iBlock,     /* leaves_end_block */
pWriter          147040 ext/sqlite3/libsqlite/sqlite3.c         pWriter->iEnd,                      /* end_block */
pWriter          147041 ext/sqlite3/libsqlite/sqlite3.c         (pWriter->bNoLeafData==0 ? pWriter->nLeafData : 0),   /* end_block */
pWriter          147122 ext/sqlite3/libsqlite/sqlite3.c   IncrmergeWriter *pWriter        /* Populate this object */
pWriter          147143 ext/sqlite3/libsqlite/sqlite3.c       fts3ReadEndBlockField(pSelect, 3, &iEnd, &pWriter->nLeafData);
pWriter          147144 ext/sqlite3/libsqlite/sqlite3.c       if( pWriter->nLeafData<0 ){
pWriter          147145 ext/sqlite3/libsqlite/sqlite3.c         pWriter->nLeafData = pWriter->nLeafData * -1;
pWriter          147147 ext/sqlite3/libsqlite/sqlite3.c       pWriter->bNoLeafData = (pWriter->nLeafData==0);
pWriter          147186 ext/sqlite3/libsqlite/sqlite3.c       pWriter->nLeafEst = (int)((iEnd - iStart) + 1)/FTS_MAX_APPENDABLE_HEIGHT;
pWriter          147187 ext/sqlite3/libsqlite/sqlite3.c       pWriter->iStart = iStart;
pWriter          147188 ext/sqlite3/libsqlite/sqlite3.c       pWriter->iEnd = iEnd;
pWriter          147189 ext/sqlite3/libsqlite/sqlite3.c       pWriter->iAbsLevel = iAbsLevel;
pWriter          147190 ext/sqlite3/libsqlite/sqlite3.c       pWriter->iIdx = iIdx;
pWriter          147193 ext/sqlite3/libsqlite/sqlite3.c         pWriter->aNodeWriter[i].iBlock = pWriter->iStart + i*pWriter->nLeafEst;
pWriter          147196 ext/sqlite3/libsqlite/sqlite3.c       pNode = &pWriter->aNodeWriter[nHeight];
pWriter          147197 ext/sqlite3/libsqlite/sqlite3.c       pNode->iBlock = pWriter->iStart + pWriter->nLeafEst*nHeight;
pWriter          147206 ext/sqlite3/libsqlite/sqlite3.c         pNode = &pWriter->aNodeWriter[i];
pWriter          147217 ext/sqlite3/libsqlite/sqlite3.c             pNode = &pWriter->aNodeWriter[i-1];
pWriter          147298 ext/sqlite3/libsqlite/sqlite3.c   IncrmergeWriter *pWriter        /* Populate this object */
pWriter          147322 ext/sqlite3/libsqlite/sqlite3.c       pWriter->iStart = sqlite3_column_int64(pFirstBlock, 0);
pWriter          147323 ext/sqlite3/libsqlite/sqlite3.c       pWriter->iEnd = pWriter->iStart - 1;
pWriter          147324 ext/sqlite3/libsqlite/sqlite3.c       pWriter->iEnd += nLeafEst * FTS_MAX_APPENDABLE_HEIGHT;
pWriter          147333 ext/sqlite3/libsqlite/sqlite3.c   rc = fts3WriteSegment(p, pWriter->iEnd, 0, 0);
pWriter          147336 ext/sqlite3/libsqlite/sqlite3.c   pWriter->iAbsLevel = iAbsLevel;
pWriter          147337 ext/sqlite3/libsqlite/sqlite3.c   pWriter->nLeafEst = nLeafEst;
pWriter          147338 ext/sqlite3/libsqlite/sqlite3.c   pWriter->iIdx = iIdx;
pWriter          147342 ext/sqlite3/libsqlite/sqlite3.c     pWriter->aNodeWriter[i].iBlock = pWriter->iStart + i*pWriter->nLeafEst;
pWriter          147759 ext/sqlite3/libsqlite/sqlite3.c   IncrmergeWriter *pWriter;       /* Writer object */
pWriter          147766 ext/sqlite3/libsqlite/sqlite3.c   const int nAlloc = sizeof(*pCsr) + sizeof(*pFilter) + sizeof(*pWriter);
pWriter          147767 ext/sqlite3/libsqlite/sqlite3.c   pWriter = (IncrmergeWriter *)sqlite3_malloc(nAlloc);
pWriter          147768 ext/sqlite3/libsqlite/sqlite3.c   if( !pWriter ) return SQLITE_NOMEM;
pWriter          147769 ext/sqlite3/libsqlite/sqlite3.c   pFilter = (Fts3SegFilter *)&pWriter[1];
pWriter          147829 ext/sqlite3/libsqlite/sqlite3.c     memset(pWriter, 0, nAlloc);
pWriter          147854 ext/sqlite3/libsqlite/sqlite3.c         rc = fts3IncrmergeLoad(p, iAbsLevel, iIdx-1, zKey, nKey, pWriter);
pWriter          147856 ext/sqlite3/libsqlite/sqlite3.c         rc = fts3IncrmergeWriter(p, iAbsLevel, iIdx, pCsr, pWriter);
pWriter          147859 ext/sqlite3/libsqlite/sqlite3.c       if( rc==SQLITE_OK && pWriter->nLeafEst ){
pWriter          147862 ext/sqlite3/libsqlite/sqlite3.c           rc = fts3IncrmergeAppend(p, pWriter, pCsr);
pWriter          147864 ext/sqlite3/libsqlite/sqlite3.c           if( pWriter->nWork>=nRem && rc==SQLITE_ROW ) rc = SQLITE_OK;
pWriter          147869 ext/sqlite3/libsqlite/sqlite3.c           nRem -= (1 + pWriter->nWork);
pWriter          147879 ext/sqlite3/libsqlite/sqlite3.c         pWriter->nLeafData = pWriter->nLeafData * -1;
pWriter          147881 ext/sqlite3/libsqlite/sqlite3.c       fts3IncrmergeRelease(p, pWriter, &rc);
pWriter          147882 ext/sqlite3/libsqlite/sqlite3.c       if( nSeg==0 && pWriter->bNoLeafData==0 ){
pWriter          147883 ext/sqlite3/libsqlite/sqlite3.c         fts3PromoteSegments(p, iAbsLevel+1, pWriter->nLeafData);
pWriter          147895 ext/sqlite3/libsqlite/sqlite3.c   sqlite3_free(pWriter);