Home | History | Annotate | Download | only in dist

Lines Matching defs:pWriter

48862 **     1) The current writer (BtShared.pWriter) concludes its transaction, OR
48899 Btree *pWriter; /* Btree with currently open write transaction */
48912 #define BTS_EXCLUSIVE 0x0020 /* pWriter has an exclusive lock */
49627 assert( eLock==READ_LOCK || (p==pBt->pWriter && p->inTrans==TRANS_WRITE) );
49638 if( pBt->pWriter!=p && (pBt->btsFlags & BTS_EXCLUSIVE)!=0 ){
49639 sqlite3ConnectionBlocked(p->db, pBt->pWriter->db);
49658 assert( p==pBt->pWriter );
49760 assert( (pBt->btsFlags & BTS_EXCLUSIVE)==0 || pBt->pWriter==pLock->pBtree );
49773 assert( (pBt->btsFlags & BTS_PENDING)==0 || pBt->pWriter );
49774 if( pBt->pWriter==p ){
49775 pBt->pWriter = 0;
49796 if( pBt->pWriter==p ){
49798 pBt->pWriter = 0;
51967 pBlock = pBt->pWriter->db;
52038 assert( !pBt->pWriter );
52039 pBt->pWriter = p;
127163 SegmentWriter *pWriter = *ppWriter;
127165 if( !pWriter ){
127170 pWriter = (SegmentWriter *)sqlite3_malloc(sizeof(SegmentWriter));
127171 if( !pWriter ) return SQLITE_NOMEM;
127172 memset(pWriter, 0, sizeof(SegmentWriter));
127173 *ppWriter = pWriter;
127176 pWriter->aData = (char *)sqlite3_malloc(p->nNodeSize);
127177 if( !pWriter->aData ) return SQLITE_NOMEM;
127178 pWriter->nSize = p->nNodeSize;
127184 pWriter->iFree = sqlite3_column_int64(pStmt, 0);
127185 pWriter->iFirst = pWriter->iFree;
127190 nData = pWriter->nData;
127192 nPrefix = fts3PrefixCompress(pWriter->zTerm, pWriter->nTerm, zTerm, nTerm);
127206 rc = fts3WriteSegment(p, pWriter->iFree++, pWriter->aData, nData);
127213 ** to the database (still available in pWriter->zTerm), and
127219 ** the common prefix (if any) of zTerm and pWriter->zTerm.
127222 rc = fts3NodeAddTerm(p, &pWriter->pTree, isCopyTerm, zTerm, nPrefix+1);
127226 pWriter->nTerm = 0;
127240 if( nReq>pWriter->nSize ){
127241 char *aNew = sqlite3_realloc(pWriter->aData, nReq);
127243 pWriter->aData = aNew;
127244 pWriter->nSize = nReq;
127246 assert( nData+nReq<=pWriter->nSize );
127249 nData += sqlite3Fts3PutVarint(&pWriter->aData[nData], nPrefix);
127250 nData += sqlite3Fts3PutVarint(&pWriter->aData[nData], nSuffix);
127251 memcpy(&pWriter->aData[nData], &zTerm[nPrefix], nSuffix);
127253 nData += sqlite3Fts3PutVarint(&pWriter->aData[nData], nDoclist);
127254 memcpy(&pWriter->aData[nData], aDoclist, nDoclist);
127255 pWriter->nData = nData + nDoclist;
127263 if( nTerm>pWriter->nMalloc ){
127264 char *zNew = sqlite3_realloc(pWriter->zMalloc, nTerm*2);
127268 pWriter->nMalloc = nTerm*2;
127269 pWriter->zMalloc = zNew;
127270 pWriter->zTerm = zNew;
127272 assert( pWriter->zTerm==pWriter->zMalloc );
127273 memcpy(pWriter->zTerm, zTerm, nTerm);
127275 pWriter->zTerm = (char *)zTerm;
127277 pWriter->nTerm = nTerm;
127283 ** Flush all data associated with the SegmentWriter object pWriter to the
127290 SegmentWriter *pWriter, /* SegmentWriter to flush to the db */
127295 if( pWriter->pTree ){
127301 iLastLeaf = pWriter->iFree;
127302 rc = fts3WriteSegment(p, pWriter->iFree++, pWriter->aData, pWriter->nData);
127304 rc = fts3NodeWrite(p, pWriter->pTree, 1,
127305 pWriter->iFirst, pWriter->iFree, &iLast, &zRoot, &nRoot);
127309 p, iLevel, iIdx, pWriter->iFirst, iLastLeaf, iLast, zRoot, nRoot);
127314 p, iLevel, iIdx, 0, 0, 0, pWriter->aData, pWriter->nData);
127323 static void fts3SegWriterFree(SegmentWriter *pWriter){
127324 if( pWriter ){
127325 sqlite3_free(pWriter->aData);
127326 sqlite3_free(pWriter->zMalloc);
127327 fts3NodeFree(pWriter->pTree);
127328 sqlite3_free(pWriter);
127929 SegmentWriter *pWriter = 0; /* Used to write the new, merged, segment */
127980 rc = fts3SegWriterAdd(p, &pWriter, 1,
127984 assert( pWriter );
127992 rc = fts3SegWriterFlush(p, pWriter, iNewLevel, iIdx);
127995 fts3SegWriterFree(pWriter);