1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-07 02:42:48 +03:00

Cause incremental-blob read/write operations lock shared-cache tables in the same way as normal SQL read/writes. Add complex assert statements to make sure tehe correct shared-cache locks are held when accessing the database. Eliminate some redundant checks from btree.c. (CVS 6830)

FossilOrigin-Name: f17ef37897da9bcaf20b5acdce6840522c0a0b16
This commit is contained in:
danielk1977
2009-06-29 06:00:37 +00:00
parent 1b1166b7c7
commit 96d48e963a
8 changed files with 241 additions and 154 deletions

View File

@@ -13,7 +13,7 @@
** is not included in the SQLite library. It is used for automated
** testing of the SQLite library.
**
** $Id: test3.c,v 1.104 2009/05/04 11:42:30 danielk1977 Exp $
** $Id: test3.c,v 1.105 2009/06/29 06:00:37 danielk1977 Exp $
*/
#include "sqliteInt.h"
#include "btreeInt.h"
@@ -626,7 +626,10 @@ static int btree_cursor(
pCur = (BtCursor *)ckalloc(sqlite3BtreeCursorSize());
memset(pCur, 0, sqlite3BtreeCursorSize());
sqlite3BtreeEnter(pBt);
rc = sqlite3BtreeCursor(pBt, iTable, wrFlag, 0, pCur);
rc = sqlite3BtreeLockTable(pBt, iTable, wrFlag);
if( rc==SQLITE_OK ){
rc = sqlite3BtreeCursor(pBt, iTable, wrFlag, 0, pCur);
}
sqlite3BtreeLeave(pBt);
if( rc ){
ckfree((char *)pCur);