Lines Matching defs:writer

10130 **   database writer and all readers are reading from the most recent database
10140 ** that the next writer will restart the log file from the beginning.
10142 ** database writer attempts while it is pending, but does not impede readers.
10166 ** exclusive "writer" lock on the database file. ^If the writer lock cannot be
10168 ** the writer lock retried until either the busy-handler returns 0 or the lock
10171 ** the writer lock is obtained or while waiting for database readers, the
16521 ** There can only be one writer. A RESERVED_LOCK is obtained by locking
16527 ** which means we can use reader/writer locks. When reader/writer locks
60243 ** the writer will first "reset" the WAL back to the beginning and start
60943 /* If the entry in aPgno[] is already set, then the previous writer
61954 ** writer clients should see that the entire log file has been
62163 ** and there is no writer on hand to fix it. */
62188 ** with a writer. So get a WRITE lock and try again.
62232 ** writer truncated the WAL out from under it. If that happens, it
62233 ** indicates that a writer has fixed the SHM file for us, so retry */
62248 ** memory-mapping a *-shm file, where a prior writer has shut down and
62294 /* Check to see if a separate writer has attached to the shared-memory area,
62304 ** the WAL_READ_LOCK(0) which prevents a checkpoint, a writer might
62329 /* Make sure some writer hasn't come in and changed the WAL file out
62354 /* Some writer has wrapped the WAL file while we were not looking.
62633 ** that the log file may have been wrapped by a writer, or that frames
63031 ** There can only be a single writer active at a time.
63055 /* Only one writer allowed at a time. Get the write lock. Return
63165 ** was started. Right after that, the writer decided to wrap around
63372 WalWriter w; /* The writer */
63642 ** TRUNCATE modes also obtain the exclusive "writer" lock on the database
63645 ** EVIDENCE-OF: R-60642-04082 If the writer lock cannot be obtained
63647 ** writer lock retried until either the busy-handler returns 0 or the
64346 ** 1) The current writer (BtShared.pWriter) concludes its transaction, OR
64352 ** This feature is included to help prevent writer-starvation.
65281 ** only be a single writer).
65409 ** transaction. If there currently exists a writer, and p is not
65410 ** that writer, then the number of locks held by connections other
65411 ** than the writer must be about to drop to zero. In this case
65414 ** If there is not currently a writer, then BTS_PENDING must
81473 /* If the auto-commit flag is set and this is the only active writer
96196 ** Initialize a PMA-writer object.
96245 ** Flush any buffered data to disk and clean up the PMA-writer object.
96246 ** The results of using the PMA-writer after this call are undefined.
96296 PmaWriter writer; /* Object used to write to the file */
96305 memset(&writer, 0, sizeof(PmaWriter));
96330 vdbePmaWriterInit(pTask->file.pFd, &writer, pTask->pSorter->pgsz,
96333 vdbePmaWriteVarint(&writer, pList->szPMA);
96336 vdbePmaWriteVarint(&writer, p->nVal);
96337 vdbePmaWriteBlob(&writer, SRVAL(p), p->nVal);
96341 rc = vdbePmaWriterFinish(&writer, &pTask->file.iEof);
96631 PmaWriter writer;
96636 vdbePmaWriterInit(pOut->pFd, &writer, pTask->pSorter->pgsz, iStart);
96641 i64 iEof = writer.iWriteOff + writer.iBufEnd;
96649 vdbePmaWriteVarint(&writer, nKey);
96650 vdbePmaWriteBlob(&writer, pReader->aKey, nKey);
96655 rc2 = vdbePmaWriterFinish(&writer, &pOut->iEof);
184297 ** merge-writer object pWriter, and if no error has occurred, to flush
184310 IncrmergeWriter *pWriter, /* Merge-writer object */
184444 ** merge-writer object *pWriter is initialized to write to it.
185132 /* Allocate space for the cursor, filter and writer objects */
198516 ** mobile device that is frequently rebooted. Even after the writer process
203923 /* Release the checkpointer and writer locks */
216687 Fts5PoslistWriter writer = {0};
216704 rc = sqlite3Fts5PoslistWriterAppend(pBuf, &writer, iMin);
216735 Fts5PoslistWriter writer = {0};
216796 rc = sqlite3Fts5PoslistWriterAppend(&pPhrase->poslist, &writer, iPos);
216847 Fts5PoslistWriter writer; /* Writer context */
216933 Fts5PoslistWriter *pWriter = &a[i].writer;
219041 Fts5PoslistWriter writer;
219111 &pExpr->apExprPhrase[i]->poslist, &p->aPopulator[i].writer, p->iOff
220167 Fts5PageWriter writer; /* PageWriter object */
220171 /* TODO1: Can use (writer.pgidx.n==0) instead of bFirstTermInPage */
223571 pWriter->iBtPage = pWriter->writer.pgno;
223656 i64 iPgno = (i==0 ? pWriter->writer.pgno : pDlidx[-1].pgno);
223671 Fts5PageWriter *pPage = &pWriter->writer;
223709 ** Append term pTerm/nTerm to the segment being written by the writer passed
223721 Fts5PageWriter *pPage = &pWriter->writer;
223722 Fts5Buffer *pPgidx = &pWriter->writer.pgidx;
223770 pPage = &pWriter->writer;
223802 Fts5PageWriter *pPage = &pWriter->writer;
223835 Fts5PageWriter *pPage = &pWriter->writer;
223860 ** Flush any data cached by the writer object to the database. Free any
223861 ** allocations associated with the writer.
223869 Fts5PageWriter *pLeaf = &pWriter->writer;
223902 pWriter->writer.pgno = 1;
223906 assert( pWriter->writer.buf.n==0 );
223907 assert( pWriter->writer.pgidx.n==0 );
223910 sqlite3Fts5BufferSize(&p->rc, &pWriter->writer.pgidx, nBuffer);
223911 sqlite3Fts5BufferSize(&p->rc, &pWriter->writer.buf, nBuffer);
223923 memset(pWriter->writer.buf.p, 0, 4);
223924 pWriter->writer.buf.n = 4;
223926 /* Bind the current output segment id to the index-writer. This is an
223928 ** inserted into %_idx by the current writer. */
224028 Fts5SegWriter writer; /* Writer object */
224039 memset(&writer, 0, sizeof(Fts5SegWriter));
224047 fts5WriteInit(p, &writer, pSeg->iSegid);
224048 writer.writer.pgno = pSeg->pgnoLast+1;
224049 writer.iBtPage = 0;
224064 fts5WriteInit(p, &writer, iSegid);
224090 if( pnRem && writer.nLeafWritten>nRem ){
224102 fts5WriteAppendTerm(p, &writer, nTerm, pTerm);
224108 fts5WriteAppendRowid(p, &writer, fts5MultiIterRowid(pIter));
224112 fts5BufferAppendVarint(&p->rc, &writer.writer.buf, 0);
224114 fts5BufferAppendVarint(&p->rc, &writer.writer.buf, 0);
224120 fts5BufferAppendVarint(&p->rc, &writer.writer.buf, nPos);
224121 fts5ChunkIterate(p, pSegIter, (void*)&writer, fts5MergeChunkCallback);
224127 fts5WriteFinish(p, &writer, &pSeg->pgnoLast);
224157 if( pnRem ) *pnRem -= writer.nLeafWritten;
224272 Fts5SegWriter writer;
224320 Fts5SegWriter writer;
224321 fts5WriteInit(p, &writer, iSegid);
224323 pBuf = &writer.writer.buf;
224324 pPgidx = &writer.writer.pgidx;
224343 fts5WriteAppendTerm(p, &writer, (int)strlen(zTerm), (const u8*)zTerm);
224346 assert( writer.bFirstRowidInPage==0 );
224362 if( writer.bFirstRowidInPage ){
224365 writer.bFirstRowidInPage = 0;
224366 fts5WriteDlidxAppend(p, &writer, iRowid);
224383 fts5WriteFlushLeaf(p, &writer);
224412 fts5WriteFlushLeaf(p, &writer);
224428 fts5WriteFinish(p, &writer, &pgnoLast);