Merge fix [f80c3f922a] with experimental changes.

FossilOrigin-Name: 20133e9ca98f5e6c42051ed3d65e4eb71d5366a5
This commit is contained in:
dan 2010-06-17 06:19:53 +00:00
commit c002518074
5 changed files with 18 additions and 18 deletions

View File

@ -1,5 +1,5 @@
C Experimental\schange:\sOn\ssystems\swhere\sit\sis\snot\spossible\sto\sunlink\sa\sfile\swhile\sone\sor\smore\sprocesses\shas\sit\sopen\s(i.e.\snot\sunix),\savoid\sclosing\sthe\sjournal\sfile\seach\stime\sthe\sdatabase\sis\sunlocked\sand\sreopening\sit\sat\sthe\sstart\sof\seach\stransaction.
D 2010-06-16T19:04:23
C Merge\sfix\s[f80c3f922a]\swith\sexperimental\schanges.
D 2010-06-17T06:19:53
F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
F Makefile.in a5cad1f8f3e021356bfcc6c77dc16f6f1952bbc3
F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
@ -113,7 +113,7 @@ F src/auth.c 523da7fb4979469955d822ff9298352d6b31de34
F src/backup.c 3dc89da1da8b948554d5daedab5fec1097188a2d
F src/bitvec.c 06ad2c36a9c3819c0b9cbffec7b15f58d5d834e0
F src/btmutex.c 96a12f50f7a17475155971a241d85ec5171573ff
F src/btree.c 5934a9f5a328488cca392766bb841ff41c9083a9
F src/btree.c 9806fb4030d0af907cf5cd7d4b9c8fd939eccfef
F src/btree.h dd83041eda10c17daf023257c1fc883b5f71f85a
F src/btreeInt.h b0c87f6725b06a0aa194a6d25d54b16ce9d6e291
F src/build.c 9d48f4023d5e3d0a6807f1f531d8d7187d252c57
@ -156,7 +156,7 @@ F src/os_common.h a8f95b81eca8a1ab8593d23e94f8a35f35d4078f
F src/os_os2.c 665876d5eec7585226b0a1cf5e18098de2b2da19
F src/os_unix.c ae173c9f6afaa58b2833a1c95c6cd32021755c42
F src/os_win.c dfde7d33c446e89dd9a277c036f2c4cc564b3138
F src/pager.c 133cc49da000b2685a104ed9812084c61bd7e40f
F src/pager.c 3b2527d9d65a43880a98546ea84559271bb6d970
F src/pager.h ca1f23c0cf137ac26f8908df2427c8b308361efd
F src/parse.y ace5c7a125d9f2a410e431ee3209034105045f7e
F src/pcache.c 1e9aa2dbc0845b52e1b51cc39753b6d1e041cb07
@ -812,7 +812,7 @@ F tool/restore_jrnl.tcl 6957a34f8f1f0f8285e07536225ec3b292a9024a
F tool/shell1.test ef08a3e738b9fee4fc228920956950bc35db0575
F tool/shell2.test 8f51f61c13b88618e71c17439fe0847c2421c5d1
F tool/shell3.test ff663e83100670a295d473515c12beb8103a78b6
F tool/showdb.c 12fbece85695e3a61bdb4f7607b61f264120c4b6
F tool/showdb.c 01c20e8181941b714fe07f72c64a7560fee17ff9
F tool/showjournal.c ec3b171be148656827c4949fbfb8ab4370822f87
F tool/soak1.tcl 8d407956e1a45b485a8e072470a3e629a27037fe
F tool/space_used.tcl f714c41a59e326b8b9042f415b628b561bafa06b
@ -823,10 +823,7 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
P ad3209572d0e6afe5c8b52313e334509661045e2
R 55fd31c025a3067f63c5d2afd30242b8
T *branch * experimental
T *sym-experimental *
T -sym-trunk *
P bede8c8a148fb9be5ffbf38df7fa733e35cc68c3 f80c3f922a114e738613955a939db46cf0847038
R 99e9ca5d85226de77fd66a29f7003e5a
U dan
Z 33e1ea27519902b3169c3c25730a3e25
Z b12621360876a83980ead5d940279e1b

View File

@ -1 +1 @@
bede8c8a148fb9be5ffbf38df7fa733e35cc68c3
20133e9ca98f5e6c42051ed3d65e4eb71d5366a5

View File

@ -2250,7 +2250,7 @@ static int lockBtree(BtShared *pBt){
if( (rc = sqlite3PagerPagecount(pBt->pPager, &nPageFile))!=SQLITE_OK ){;
goto page1_init_failed;
}
if( nPage==0 ){
if( nPage==0 || memcmp(24+(u8*)pPage1->aData, 92+(u8*)pPage1->aData,4)!=0 ){
nPage = nPageFile;
}
if( nPage>0 ){

View File

@ -2241,9 +2241,9 @@ static int readDbPage(PgHdr *pPg){
/* If the read is unsuccessful, set the dbFileVers[] to something
** that will never be a valid file version. dbFileVers[] is a copy
** of bytes 24..39 of the database. Bytes 28..31 should always be
** zero. Bytes 32..35 and 35..39 should be page numbers which are
** never 0xffffffff. So filling pPager->dbFileVers[] with all 0xff
** bytes should suffice.
** zero or the size of the database in page. Bytes 32..35 and 35..39
** should be page numbers which are never 0xffffffff. So filling
** pPager->dbFileVers[] with all 0xff bytes should suffice.
**
** For an encrypted database, the situation is more complex: bytes
** 24..39 of the database are white noise. But the probability of
@ -5011,7 +5011,10 @@ static int pager_incr_changecounter(Pager *pPager, int isDirectMode){
change_counter++;
put32bits(((char*)pPgHdr->pData)+24, change_counter);
/* Also store the SQLite version number in bytes 96..99 */
/* Also store the SQLite version number in bytes 96..99 and in
** bytes 92..95 store the change counter for which the version number
** is valid. */
put32bits(((char*)pPgHdr->pData)+92, change_counter);
put32bits(((char*)pPgHdr->pData)+96, SQLITE_VERSION_NUMBER);
/* If running in direct mode, write the contents of page 1 to the file. */

View File

@ -169,7 +169,7 @@ static void print_db_header(void){
print_decode_line(aData, 80, 4, "meta[10]");
print_decode_line(aData, 84, 4, "meta[11]");
print_decode_line(aData, 88, 4, "meta[12]");
print_decode_line(aData, 92, 4, "meta[13]");
print_decode_line(aData, 92, 4, "Change counter for version number");
print_decode_line(aData, 96, 4, "SQLite version number");
}