Merge fix [f80c3f922a] with experimental changes.
FossilOrigin-Name: 20133e9ca98f5e6c42051ed3d65e4eb71d5366a5
This commit is contained in:
commit
c002518074
19
manifest
19
manifest
@ -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
|
||||
|
@ -1 +1 @@
|
||||
bede8c8a148fb9be5ffbf38df7fa733e35cc68c3
|
||||
20133e9ca98f5e6c42051ed3d65e4eb71d5366a5
|
@ -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 ){
|
||||
|
11
src/pager.c
11
src/pager.c
@ -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. */
|
||||
|
@ -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");
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user