diff --git a/manifest b/manifest index f5974c8fdf..e7a9a9d0e4 100644 --- a/manifest +++ b/manifest @@ -1,8 +1,8 @@ -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 -C Optionally\ssupport\sshared-memory\sin\s/dev/shm\sor\sother\stmpfs\sdirectory\nusing\san\sunsupported\scompile-time\soption. -D 2010-07-15T18:32:41 +C Previous\scheck-in\s[534aab837e]\saccidently\sreverted\ssome\nchanges\sfrom\s[a121cd80c5].\s\sThis\scheck-in\srestores\sthose\schanges. +D 2010-07-15T18:38:39 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0 F Makefile.in ec08dc838fd8110fe24c92e5130bcd91cbb1ff2e F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654 @@ -157,7 +157,7 @@ F src/os.c 60178f518c4d6c0dcb59f7292232281d7bea2dcf F src/os.h 9dbed8c2b9c1f2f2ebabc09e49829d4777c26bf9 F src/os_common.h a8f95b81eca8a1ab8593d23e94f8a35f35d4078f F src/os_os2.c 665876d5eec7585226b0a1cf5e18098de2b2da19 -F src/os_unix.c d27404c02d3947737f8650ca4586afa7c1bec32a +F src/os_unix.c fa606537ade76f9779cc7ded8c8c4152ba689f3b F src/os_win.c 61734aad7f50b28f3c76eb4b19b63472f6d825d9 F src/pager.c 78ca1e1f3315c8227431c403c04d791dccf242fb F src/pager.h 879fdde5a102d2f21a3135d6f647530b21c2796c @@ -839,14 +839,14 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f -P 932d19da73c9673cdd4cc01289b17761c23d23cb -R fdcb07e29996e92060dad2eee68d833c +P 534aab837e5a34fd58963ab2b505bfbb9da2e8ee +R b41651436df288d88ac3cd021d9e3ca1 U drh -Z 26a418d4204c9feaabc8860a4e746939 +Z e9a6afbc0260d754bad1bb09a2da2dbb -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) -iD8DBQFMP1RMoxKgR168RlERAhh6AJ4umgQHctPd2gEiJRrgEectm89sNQCZAbaB -OhN8MrDeGSxCC/JtQI6sM68= -=f3eu +iD8DBQFMP1W1oxKgR168RlERAmZtAJ0fsQjt99bxA6i8H0GgNaydgviCdQCfUFUF +ZWJnfl2/IG01YhWvoeq9iXc= +=jLGJ -----END PGP SIGNATURE----- diff --git a/manifest.uuid b/manifest.uuid index 7630f894f4..5ec3ce6a5f 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -534aab837e5a34fd58963ab2b505bfbb9da2e8ee \ No newline at end of file +abff795f38e33d778c8dd494a601bc029237da9e \ No newline at end of file diff --git a/src/os_unix.c b/src/os_unix.c index 0413c5dfad..43487404b2 100644 --- a/src/os_unix.c +++ b/src/os_unix.c @@ -4330,13 +4330,14 @@ static UnixUnusedFd *findReusableFd(const char *zPath, int flags){ ** ** If the file being opened is a temporary file, it is always created with ** the octal permissions 0600 (read/writable by owner only). If the file -** is a database, journal or master journal file, it is created with the -** permissions mask SQLITE_DEFAULT_FILE_PERMISSIONS. +** is a database or master journal file, it is created with the permissions +** mask SQLITE_DEFAULT_FILE_PERMISSIONS. ** -** Finally, if the file being opened is a WAL file, then this function -** queries the file-system for the permissions on the corresponding database -** file and sets *pMode to this value. Whenever possible, WAL files are -** created using the same permissions as the associated database file. +** Finally, if the file being opened is a WAL or regular journal file, then +** this function queries the file-system for the permissions on the +** corresponding database file and sets *pMode to this value. Whenever +** possible, WAL and journal files are created using the same permissions +** as the associated database file. */ static int findCreateFileMode( const char *zPath, /* Path of file (possibly) being created */ @@ -4344,12 +4345,12 @@ static int findCreateFileMode( mode_t *pMode /* OUT: Permissions to open file with */ ){ int rc = SQLITE_OK; /* Return Code */ - if( flags & SQLITE_OPEN_WAL ){ + if( flags & (SQLITE_OPEN_WAL|SQLITE_OPEN_MAIN_JOURNAL) ){ char zDb[MAX_PATHNAME+1]; /* Database file path */ int nDb; /* Number of valid bytes in zDb */ struct stat sStat; /* Output of stat() on database file */ - nDb = sqlite3Strlen30(zPath) - 4; + nDb = sqlite3Strlen30(zPath) - ((flags & SQLITE_OPEN_WAL) ? 4 : 8); memcpy(zDb, zPath, nDb); zDb[nDb] = '\0'; if( 0==stat(zDb, &sStat) ){ @@ -4492,6 +4493,7 @@ static int unixOpen( rc = findCreateFileMode(zName, flags, &openMode); if( rc!=SQLITE_OK ){ assert( !p->pUnused ); + assert( eType==SQLITE_OPEN_WAL || eType==SQLITE_OPEN_MAIN_JOURNAL ); return rc; } fd = open(zName, openFlags, openMode);