Lines Matching defs:writer
9732 ** database writer and all readers are reading from the most recent database
9742 ** that the next writer will restart the log file from the beginning.
9744 ** database writer attempts while it is pending, but does not impede readers.
9768 ** exclusive "writer" lock on the database file. ^If the writer lock cannot be
9770 ** the writer lock retried until either the busy-handler returns 0 or the lock
9773 ** the writer lock is obtained or while waiting for database readers, the
15054 ** There can only be one writer. A RESERVED_LOCK is obtained by locking
15060 ** which means we can use reader/writer locks. When reader/writer locks
63749 ** the writer will first "reset" the WAL back to the beginning and start
64520 /* If the entry in aPgno[] is already set, then the previous writer
65563 ** writer clients should see that the entire log file has been
65772 ** and there is no writer on hand to fix it. */
65797 ** with a writer. So get a WRITE lock and try again.
65841 ** writer truncated the WAL out from under it. If that happens, it
65842 ** indicates that a writer has fixed the SHM file for us, so retry */
65857 ** memory-mapping a *-shm file, where a prior writer has shut down and
65903 /* Check to see if a separate writer has attached to the shared-memory area,
65913 ** the WAL_READ_LOCK(0) which prevents a checkpoint, a writer might
65938 /* Make sure some writer hasn't come in and changed the WAL file out
65963 /* Some writer has wrapped the WAL file while we were not looking.
66248 ** that the log file may have been wrapped by a writer, or that frames
66647 ** There can only be a single writer active at a time.
66671 /* Only one writer allowed at a time. Get the write lock. Return
66781 ** was started. Right after that, the writer decided to wrap around
66996 WalWriter w; /* The writer */
67272 ** TRUNCATE modes also obtain the exclusive "writer" lock on the database
67275 ** EVIDENCE-OF: R-60642-04082 If the writer lock cannot be obtained
67277 ** writer lock retried until either the busy-handler returns 0 or the
67983 ** 1) The current writer (BtShared.pWriter) concludes its transaction, OR
67989 ** This feature is included to help prevent writer-starvation.
68943 ** only be a single writer).
69071 ** transaction. If there currently exists a writer, and p is not
69072 ** that writer, then the number of locks held by connections other
69073 ** than the writer must be about to drop to zero. In this case
69076 ** If there is not currently a writer, then BTS_PENDING must
85764 /* If the auto-commit flag is set and this is the only active writer
101227 ** Initialize a PMA-writer object.
101276 ** Flush any buffered data to disk and clean up the PMA-writer object.
101277 ** The results of using the PMA-writer after this call are undefined.
101327 PmaWriter writer; /* Object used to write to the file */
101336 memset(&writer, 0, sizeof(PmaWriter));
101361 vdbePmaWriterInit(pTask->file.pFd, &writer, pTask->pSorter->pgsz,
101364 vdbePmaWriteVarint(&writer, pList->szPMA);
101367 vdbePmaWriteVarint(&writer, p->nVal);
101368 vdbePmaWriteBlob(&writer, SRVAL(p), p->nVal);
101372 rc = vdbePmaWriterFinish(&writer, &pTask->file.iEof);
101662 PmaWriter writer;
101667 vdbePmaWriterInit(pOut->pFd, &writer, pTask->pSorter->pgsz, iStart);
101672 i64 iEof = writer.iWriteOff + writer.iBufEnd;
101680 vdbePmaWriteVarint(&writer, nKey);
101681 vdbePmaWriteBlob(&writer, pReader->aKey, nKey);
101686 rc2 = vdbePmaWriterFinish(&writer, &pOut->iEof);
193972 ** merge-writer object pWriter, and if no error has occurred, to flush
193985 IncrmergeWriter *pWriter, /* Merge-writer object */
194123 ** merge-writer object *pWriter is initialized to write to it.
194811 /* Allocate space for the cursor, filter and writer objects */
208308 ** mobile device that is frequently rebooted. Even after the writer process
213823 /* Release the checkpointer and writer locks */
226869 Fts5PoslistWriter writer = {0};
226886 rc = sqlite3Fts5PoslistWriterAppend(pBuf, &writer, iMin);
226917 Fts5PoslistWriter writer = {0};
226978 rc = sqlite3Fts5PoslistWriterAppend(&pPhrase->poslist, &writer, iPos);
227029 Fts5PoslistWriter writer; /* Writer context */
227115 Fts5PoslistWriter *pWriter = &a[i].writer;
229229 Fts5PoslistWriter writer;
229308 &pExpr->apExprPhrase[i]->poslist, &p->aPopulator[i].writer, p->iOff
230364 Fts5PageWriter writer; /* PageWriter object */
230368 /* TODO1: Can use (writer.pgidx.n==0) instead of bFirstTermInPage */
233845 pWriter->iBtPage = pWriter->writer.pgno;
233930 i64 iPgno = (i==0 ? pWriter->writer.pgno : pDlidx[-1].pgno);
233945 Fts5PageWriter *pPage = &pWriter->writer;
233983 ** Append term pTerm/nTerm to the segment being written by the writer passed
233995 Fts5PageWriter *pPage = &pWriter->writer;
233996 Fts5Buffer *pPgidx = &pWriter->writer.pgidx;
234044 pPage = &pWriter->writer;
234076 Fts5PageWriter *pPage = &pWriter->writer;
234111 Fts5PageWriter *pPage = &pWriter->writer;
234136 ** Flush any data cached by the writer object to the database. Free any
234137 ** allocations associated with the writer.
234145 Fts5PageWriter *pLeaf = &pWriter->writer;
234178 pWriter->writer.pgno = 1;
234182 assert( pWriter->writer.buf.n==0 );
234183 assert( pWriter->writer.pgidx.n==0 );
234186 sqlite3Fts5BufferSize(&p->rc, &pWriter->writer.pgidx, nBuffer);
234187 sqlite3Fts5BufferSize(&p->rc, &pWriter->writer.buf, nBuffer);
234199 memset(pWriter->writer.buf.p, 0, 4);
234200 pWriter->writer.buf.n = 4;
234202 /* Bind the current output segment id to the index-writer. This is an
234204 ** inserted into %_idx by the current writer. */
234304 Fts5SegWriter writer; /* Writer object */
234315 memset(&writer, 0, sizeof(Fts5SegWriter));
234323 fts5WriteInit(p, &writer, pSeg->iSegid);
234324 writer.writer.pgno = pSeg->pgnoLast+1;
234325 writer.iBtPage = 0;
234340 fts5WriteInit(p, &writer, iSegid);
234366 if( pnRem && writer.nLeafWritten>nRem ){
234378 fts5WriteAppendTerm(p, &writer, nTerm, pTerm);
234384 fts5WriteAppendRowid(p, &writer, fts5MultiIterRowid(pIter));
234388 fts5BufferAppendVarint(&p->rc, &writer.writer.buf, 0);
234390 fts5BufferAppendVarint(&p->rc, &writer.writer.buf, 0);
234396 fts5BufferAppendVarint(&p->rc, &writer.writer.buf, nPos);
234397 fts5ChunkIterate(p, pSegIter, (void*)&writer, fts5MergeChunkCallback);
234403 fts5WriteFinish(p, &writer, &pSeg->pgnoLast);
234434 if( pnRem ) *pnRem -= writer.nLeafWritten;
234549 Fts5SegWriter writer;
234597 Fts5SegWriter writer;
234598 fts5WriteInit(p, &writer, iSegid);
234600 pBuf = &writer.writer.buf;
234601 pPgidx = &writer.writer.pgidx;
234620 fts5WriteAppendTerm(p, &writer, (int)strlen(zTerm), (const u8*)zTerm);
234623 assert( writer.bFirstRowidInPage==0 );
234639 if( writer.bFirstRowidInPage ){
234642 writer.bFirstRowidInPage = 0;
234643 fts5WriteDlidxAppend(p, &writer, iRowid);
234660 fts5WriteFlushLeaf(p, &writer);
234689 fts5WriteFlushLeaf(p, &writer);
234705 fts5WriteFinish(p, &writer, &pgnoLast);