Lines Matching defs:eLock

40626 ** The Pager.eLock variable is almost always set to one of the 
40635 ** pagerUnlockDb() take a conservative approach - eLock is always updated
40637 ** VFS call is successful. This way, the Pager.eLock variable may be set
40662 ** database in the ERROR state, Pager.eLock is set to UNKNOWN_LOCK. It
40665 ** omits the check for a hot-journal if Pager.eLock is set to UNKNOWN_LOCK
40670 ** Pager.eLock may only be set to UNKNOWN_LOCK when the pager is in
40738 ** eLock
40910 u8 eLock; /* Current lock held on database file */
41119 assert( p->tempFile==0 || p->eLock==EXCLUSIVE_LOCK );
41148 assert( pPager->changeCountDone==0 || pPager->eLock>=RESERVED_LOCK );
41149 assert( p->eLock!=PENDING_LOCK );
41160 assert( p->eLock!=UNKNOWN_LOCK );
41161 assert( p->eLock>=SHARED_LOCK );
41165 assert( p->eLock!=UNKNOWN_LOCK );
41168 assert( p->eLock>=RESERVED_LOCK );
41177 assert( p->eLock!=UNKNOWN_LOCK );
41185 assert( p->eLock>=RESERVED_LOCK );
41196 assert( p->eLock==EXCLUSIVE_LOCK );
41199 assert( p->eLock>=EXCLUSIVE_LOCK );
41208 assert( p->eLock==EXCLUSIVE_LOCK );
41261 , p->eLock==NO_LOCK ? "NO_LOCK" :
41262 p->eLock==RESERVED_LOCK ? "RESERVED" :
41263 p->eLock==EXCLUSIVE_LOCK ? "EXCLUSIVE" :
41264 p->eLock==SHARED_LOCK ? "SHARED" :
41265 p->eLock==UNKNOWN_LOCK ? "UNKNOWN" : "?error?"
41345 ** Unlock the database file to level eLock, which must be either NO_LOCK
41347 ** succeeds, set the Pager.eLock variable to match the (attempted) new lock.
41349 ** Except, if Pager.eLock is set to UNKNOWN_LOCK when this function is
41353 static int pagerUnlockDb(Pager *pPager, int eLock){
41356 assert( !pPager->exclusiveMode || pPager->eLock==eLock );
41357 assert( eLock==NO_LOCK || eLock==SHARED_LOCK );
41358 assert( eLock!=NO_LOCK || pagerUseWal(pPager)==0 );
41360 assert( pPager->eLock>=eLock );
41361 rc = pPager->noLock ? SQLITE_OK : sqlite3OsUnlock(pPager->fd, eLock);
41362 if( pPager->eLock!=UNKNOWN_LOCK ){
41363 pPager->eLock = (u8)eLock;
41365 IOTRACE(("UNLOCK %p %d\n", pPager, eLock))
41371 ** Lock the database file to level eLock, which must be either SHARED_LOCK,
41373 ** Pager.eLock variable to the new locking state.
41375 ** Except, if Pager.eLock is set to UNKNOWN_LOCK when this function is
41380 static int pagerLockDb(Pager *pPager, int eLock){
41383 assert( eLock==SHARED_LOCK || eLock==RESERVED_LOCK || eLock==EXCLUSIVE_LOCK );
41384 if( pPager->eLock<eLock || pPager->eLock==UNKNOWN_LOCK ){
41385 rc = pPager->noLock ? SQLITE_OK : sqlite3OsLock(pPager->fd, eLock);
41386 if( rc==SQLITE_OK && (pPager->eLock!=UNKNOWN_LOCK||eLock==EXCLUSIVE_LOCK) ){
41387 pPager->eLock = (u8)eLock;
41388 IOTRACE(("LOCK %p %d\n", pPager, eLock))
42068 pPager->eLock = UNKNOWN_LOCK;
42198 ** eState==PAGER_NONE and eLock==EXCLUSIVE_LOCK.
42203 ** and eLock==EXCLUSIVE_LOCK when the read-transaction is closed.
42207 if( pPager->eState<PAGER_WRITER_LOCKED && pPager->eLock<RESERVED_LOCK ){
42281 assert( pPager->eLock==EXCLUSIVE_LOCK );
42446 || (pPager->eState==PAGER_OPEN && pPager->eLock==EXCLUSIVE_LOCK)
42800 assert( pPager->eLock==EXCLUSIVE_LOCK );
43415 assert( pPager->eLock>=SHARED_LOCK );
43470 assert( pPager->eLock>=SHARED_LOCK );
44044 assert( (pPager->eLock>=locktype)
44045 || (pPager->eLock==NO_LOCK && locktype==SHARED_LOCK)
44046 || (pPager->eLock==RESERVED_LOCK && locktype==EXCLUSIVE_LOCK)
44484 assert( pPager->eLock==EXCLUSIVE_LOCK );
44991 pPager->eLock = EXCLUSIVE_LOCK; /* Pretend we are in EXCLUSIVE locking mode */
45273 assert( pPager->eLock==NO_LOCK || pPager->eLock==UNKNOWN_LOCK );
45280 if( pPager->eLock<=SHARED_LOCK ){
45366 ** the file. If the unlock attempt fails, then Pager.eLock must be
45384 assert( (pPager->eLock==SHARED_LOCK)
45385 || (pPager->exclusiveMode && pPager->eLock>SHARED_LOCK)
47222 if( pPager->eLock>=RESERVED_LOCK ){
47344 assert( pPager->eLock==SHARED_LOCK || pPager->eLock==EXCLUSIVE_LOCK );
47365 assert( pPager->eLock==SHARED_LOCK || pPager->eLock==EXCLUSIVE_LOCK );
50931 u8 eLock; /* READ_LOCK or WRITE_LOCK */
50935 /* Candidate values for BtLock.eLock */
51749 && (pLock->iTable==iTab || (pLock->eLock==WRITE_LOCK && pLock->iTable==1))
51750 && pLock->eLock>=eLockType
51795 ** Query to see if Btree handle p may obtain a lock of type eLock
51800 static int querySharedCacheTableLock(Btree *p, Pgno iTab, u8 eLock){
51805 assert( eLock==READ_LOCK || eLock==WRITE_LOCK );
51807 assert( !(p->db->flags&SQLITE_ReadUncommitted)||eLock==WRITE_LOCK||iTab==1 );
51813 assert( eLock==READ_LOCK || (p==pBt->pWriter && p->inTrans==TRANS_WRITE) );
51814 assert( eLock==READ_LOCK || pBt->inTransaction==TRANS_WRITE );
51830 /* The condition (pIter->eLock!=eLock) in the following if(...)
51833 ** (eLock==WRITE_LOCK || pIter->eLock==WRITE_LOCK)
51835 ** since we know that if eLock==WRITE_LOCK, then no other connection
51839 assert( pIter->eLock==READ_LOCK || pIter->eLock==WRITE_LOCK );
51840 assert( eLock==READ_LOCK || pIter->pBtree==p || pIter->eLock==READ_LOCK);
51841 if( pIter->pBtree!=p && pIter->iTable==iTab && pIter->eLock!=eLock ){
51843 if( eLock==WRITE_LOCK ){
51857 ** by Btree handle p. Parameter eLock must be either READ_LOCK or
51872 static int setSharedCacheTableLock(Btree *p, Pgno iTable, u8 eLock){
51878 assert( eLock==READ_LOCK || eLock==WRITE_LOCK );
51885 assert( 0==(p->db->flags&SQLITE_ReadUncommitted) || eLock==WRITE_LOCK );
51890 assert( SQLITE_OK==querySharedCacheTableLock(p, iTable, eLock) );
51914 /* Set the BtLock.eLock variable to the maximum of the current lock
51919 if( eLock>pLock->eLock ){
51920 pLock->eLock = eLock;
51947 assert( pLock->pBtree->inTrans>=pLock->eLock );
51987 assert( pLock->eLock==READ_LOCK || pLock->pBtree==p );
51988 pLock->eLock = READ_LOCK;
54328 p->lock.eLock = READ_LOCK;