mirror of
https://github.com/sqlite/sqlite.git
synced 2025-08-07 02:42:48 +03:00
Fix the build for SQLITE_OMIT_SHARED_CACHE, which was broken, possibly
by check-in [2d96aeba]. FossilOrigin-Name: 3392f8fa2ddf2c10ffe91ddd92470040c909b36d
This commit is contained in:
44
src/btree.c
44
src/btree.c
@@ -3130,7 +3130,6 @@ int sqlite3BtreeNewDb(Btree *p){
|
||||
** proceed.
|
||||
*/
|
||||
int sqlite3BtreeBeginTrans(Btree *p, int wrflag){
|
||||
sqlite3 *pBlock = 0;
|
||||
BtShared *pBt = p->pBt;
|
||||
int rc = SQLITE_OK;
|
||||
|
||||
@@ -3153,27 +3152,30 @@ int sqlite3BtreeBeginTrans(Btree *p, int wrflag){
|
||||
}
|
||||
|
||||
#ifndef SQLITE_OMIT_SHARED_CACHE
|
||||
/* If another database handle has already opened a write transaction
|
||||
** on this shared-btree structure and a second write transaction is
|
||||
** requested, return SQLITE_LOCKED.
|
||||
*/
|
||||
if( (wrflag && pBt->inTransaction==TRANS_WRITE)
|
||||
|| (pBt->btsFlags & BTS_PENDING)!=0
|
||||
){
|
||||
pBlock = pBt->pWriter->db;
|
||||
}else if( wrflag>1 ){
|
||||
BtLock *pIter;
|
||||
for(pIter=pBt->pLock; pIter; pIter=pIter->pNext){
|
||||
if( pIter->pBtree!=p ){
|
||||
pBlock = pIter->pBtree->db;
|
||||
break;
|
||||
{
|
||||
sqlite3 *pBlock = 0;
|
||||
/* If another database handle has already opened a write transaction
|
||||
** on this shared-btree structure and a second write transaction is
|
||||
** requested, return SQLITE_LOCKED.
|
||||
*/
|
||||
if( (wrflag && pBt->inTransaction==TRANS_WRITE)
|
||||
|| (pBt->btsFlags & BTS_PENDING)!=0
|
||||
){
|
||||
pBlock = pBt->pWriter->db;
|
||||
}else if( wrflag>1 ){
|
||||
BtLock *pIter;
|
||||
for(pIter=pBt->pLock; pIter; pIter=pIter->pNext){
|
||||
if( pIter->pBtree!=p ){
|
||||
pBlock = pIter->pBtree->db;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if( pBlock ){
|
||||
sqlite3ConnectionBlocked(p->db, pBlock);
|
||||
rc = SQLITE_LOCKED_SHAREDCACHE;
|
||||
goto trans_begun;
|
||||
if( pBlock ){
|
||||
sqlite3ConnectionBlocked(p->db, pBlock);
|
||||
rc = SQLITE_LOCKED_SHAREDCACHE;
|
||||
goto trans_begun;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -9676,9 +9678,11 @@ int sqlite3BtreeIsReadonly(Btree *p){
|
||||
*/
|
||||
int sqlite3HeaderSizeBtree(void){ return ROUND8(sizeof(MemPage)); }
|
||||
|
||||
#if !defined(SQLITE_OMIT_SHARED_CACHE)
|
||||
/*
|
||||
** Return true if the Btree passed as the only argument is sharable.
|
||||
*/
|
||||
int sqlite3BtreeSharable(Btree *p){
|
||||
return p->sharable;
|
||||
}
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user