1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-15 11:41:13 +03:00

Make sure the SQLITE_OPEN_EXCLUSIVE flag is ignored by sqlite3_open_v2().

That flag is to be used by the VFS interface only.  Ticket #3855. (CVS 6629)

FossilOrigin-Name: c37f0279ebfaf76b4086e6d16b6e12633424c27d
This commit is contained in:
drh
2009-05-12 13:35:11 +00:00
parent 768578ee2a
commit b25a9f4618
3 changed files with 17 additions and 9 deletions

View File

@@ -1,5 +1,5 @@
C Tweaks\sto\sbuild.c\sto\sfacilitate\scoverage\stesting.\s(CVS\s6628) C Make\ssure\sthe\sSQLITE_OPEN_EXCLUSIVE\sflag\sis\signored\sby\ssqlite3_open_v2().\nThat\sflag\sis\sto\sbe\sused\sby\sthe\sVFS\sinterface\sonly.\s\sTicket\s#3855.\s(CVS\s6629)
D 2009-05-12T00:40:13 D 2009-05-12T13:35:12
F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
F Makefile.in 583e87706abc3026960ed759aff6371faf84c211 F Makefile.in 583e87706abc3026960ed759aff6371faf84c211
F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
@@ -125,7 +125,7 @@ F src/insert.c 050536ea91c6cf74d87a2386b5da241141943c94
F src/journal.c e00df0c0da8413ab6e1bb7d7cab5665d4a9000d0 F src/journal.c e00df0c0da8413ab6e1bb7d7cab5665d4a9000d0
F src/legacy.c 9a56cf126ceee332b56061bf16bd0fb4ff9e26c0 F src/legacy.c 9a56cf126ceee332b56061bf16bd0fb4ff9e26c0
F src/loadext.c 3f96631089fc4f3871a67f02f2e4fc7ea4d51edc F src/loadext.c 3f96631089fc4f3871a67f02f2e4fc7ea4d51edc
F src/main.c e557fd8f721373b863c1a804aa8ea81839541d27 F src/main.c 09fbadd5ea3d4f9052d37925a1427f9cb0ee75dc
F src/malloc.c 7b3b6423f5b355e5d649b91e16ef252d610bcf19 F src/malloc.c 7b3b6423f5b355e5d649b91e16ef252d610bcf19
F src/mem0.c f2f84062d1f35814d6535c9f9e33de3bfb3b132c F src/mem0.c f2f84062d1f35814d6535c9f9e33de3bfb3b132c
F src/mem1.c e6d5c23941288df8191b8a98c28e3f57771e2270 F src/mem1.c e6d5c23941288df8191b8a98c28e3f57771e2270
@@ -729,7 +729,7 @@ F tool/speedtest16.c c8a9c793df96db7e4933f0852abb7a03d48f2e81
F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224 F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
P 5635666f20358e854a76d244768198734afd4299 P 6572b438a02cc44546174e132dfbdc1d141cd451
R f9f1009ab66a2d75fd919e71db434f55 R 666fd2a04f0518bbc32649a56bab9cef
U drh U drh
Z 612bf8c819ce488d831d79c1e2187441 Z e60d2b410985dcb25fdd3decf9513c5e

View File

@@ -1 +1 @@
6572b438a02cc44546174e132dfbdc1d141cd451 c37f0279ebfaf76b4086e6d16b6e12633424c27d

View File

@@ -14,7 +14,7 @@
** other files are for internal use by SQLite and should not be ** other files are for internal use by SQLite and should not be
** accessed by users of the library. ** accessed by users of the library.
** **
** $Id: main.c,v 1.551 2009/05/11 20:53:29 drh Exp $ ** $Id: main.c,v 1.552 2009/05/12 13:35:12 drh Exp $
*/ */
#include "sqliteInt.h" #include "sqliteInt.h"
@@ -1535,8 +1535,16 @@ static int openDatabase(
isThreadsafe = sqlite3GlobalConfig.bFullMutex; isThreadsafe = sqlite3GlobalConfig.bFullMutex;
} }
/* Remove harmful bits from the flags parameter */ /* Remove harmful bits from the flags parameter
**
** The SQLITE_OPEN_NOMUTEX and SQLITE_OPEN_FULLMUTEX flags were
** dealt with in the previous code block. Besides these, the only
** valid input flags for sqlite3_open_v2() are SQLITE_OPEN_READONLY,
** SQLITE_OPEN_READWRITE, and SQLITE_OPEN_CREATE. Silently mask
** off all other flags.
*/
flags &= ~( SQLITE_OPEN_DELETEONCLOSE | flags &= ~( SQLITE_OPEN_DELETEONCLOSE |
SQLITE_OPEN_EXCLUSIVE |
SQLITE_OPEN_MAIN_DB | SQLITE_OPEN_MAIN_DB |
SQLITE_OPEN_TEMP_DB | SQLITE_OPEN_TEMP_DB |
SQLITE_OPEN_TRANSIENT_DB | SQLITE_OPEN_TRANSIENT_DB |