Make sure the Btree mutex is held when setting the locking mode and the
secure delete flag when attaching a shared-cache database.
FossilOrigin-Name: 6bef7ede2bbf0a51729e1943b0b0c895cb57c718
diff --git a/manifest b/manifest
index 3dc59d5..022b156 100644
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Merge\sthe\scell\soverflow\spage\snumber\scache\sthread\srace\sfix\sfrom\strunk.
-D 2014-12-12T00:26:59.974
+C Make\ssure\sthe\sBtree\smutex\sis\sheld\swhen\ssetting\sthe\slocking\smode\sand\sthe\nsecure\sdelete\sflag\swhen\sattaching\sa\sshared-cache\sdatabase.
+D 2014-12-12T00:40:58.882
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
F Makefile.in 6c4f961fa91d0b4fa121946a19f9e5eac2f2f809
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@@ -168,7 +168,7 @@
F sqlite3.pc.in 48fed132e7cb71ab676105d2a4dc77127d8c1f3a
F src/alter.c ba266a779bc7ce10e52e59e7d3dc79fa342e8fdb
F src/analyze.c 7a2986e6ea8247e5f21aca3d0b584598f58d84fe
-F src/attach.c f4e94df2d1826feda65eb0939f7f6f5f923a0ad9
+F src/attach.c 7f6b3fafa2290b407e4a94dcf1afda7ec0fe394b
F src/auth.c b56c78ebe40a2110fd361379f7e8162d23f92240
F src/backup.c 7ddee9c7d505e07e959a575b18498f17c71e53ea
F src/bitvec.c 19a4ba637bd85f8f63fc8c9bae5ade9fb05ec1cb
@@ -1229,7 +1229,7 @@
F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
F tool/warnings.sh 0abfd78ceb09b7f7c27c688c8e3fe93268a13b32
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P b7489f9451628c68f1dfc1d457fc161a0921c631 fc157dd7f18c94b7ae5f155e1b4a5d7714b7da8c
-R e0ac31855803c332d28311de41dcc42f
+P cefad47ec2ad58d7ecd58bab9a261e4d5816cd69
+R 43ea10bc03cfab6b8cae2a465b94aee2
U drh
-Z 01b0e5c37f35211bc16bf2591a3974d7
+Z 01d198dabe70d93c23f2c971bf866fd9
diff --git a/manifest.uuid b/manifest.uuid
index b6c1d34..2d44076 100644
--- a/manifest.uuid
+++ b/manifest.uuid
@@ -1 +1 @@
-cefad47ec2ad58d7ecd58bab9a261e4d5816cd69
\ No newline at end of file
+6bef7ede2bbf0a51729e1943b0b0c895cb57c718
\ No newline at end of file
diff --git a/src/attach.c b/src/attach.c
index cf52bb2..de87429 100644
--- a/src/attach.c
+++ b/src/attach.c
@@ -150,6 +150,7 @@
"attached databases must use the same text encoding as main database");
rc = SQLITE_ERROR;
}
+ sqlite3BtreeEnter(aNew->pBt);
pPager = sqlite3BtreePager(aNew->pBt);
sqlite3PagerLockingMode(pPager, db->dfltLockMode);
sqlite3BtreeSecureDelete(aNew->pBt,
@@ -157,6 +158,7 @@
#ifndef SQLITE_OMIT_PAGER_PRAGMAS
sqlite3BtreeSetPagerFlags(aNew->pBt, 3 | (db->flags & PAGER_FLAGS_MASK));
#endif
+ sqlite3BtreeLeave(aNew->pBt);
}
aNew->safety_level = 3;
aNew->zName = sqlite3DbStrDup(db, zName);