diff --git a/manifest b/manifest index 64534b8ae9..f00f793ab6 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C If\sSQLITE_DEFAULT_WAL_SYNCHRONOUS\sis\snot\sthe\ssame\svalue\sas\nSQLITE_DEFAULT_SYNCHRONOUS\sand\sthe\sapplication\shas\snot\srun\n"PRAGMA\ssynchronous",\sthen\sset\ssynchronous\sto\sthe\s\nSQLITE_DEFAULT_WAL_SYNCHRONOUS\ssetting\swhen\sentering\sWAL\smode\sfor\nthe\sfirst\stime. -D 2016-03-08T15:14:26.164 +C Make\sthe\sSQLITE_DEFAULT_SYNCHRONOUS\sand\sSQLITE_DEFAULT_WAL_SYNCHRONOUS\nvalues\szero-based\sto\sagree\swith\sPRAGMA\ssynchronous. +D 2016-03-08T15:30:01.003 F Makefile.in f53429fb2f313c099283659d0df6f20f932c861f F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.msc df0bf9ff7f8b3f4dd9fb4cc43f92fe58f6ec5c66 @@ -287,12 +287,12 @@ F sqlite3.1 fc7ad8990fc8409983309bb80de8c811a7506786 F sqlite3.pc.in 48fed132e7cb71ab676105d2a4dc77127d8c1f3a F src/alter.c 1bb0709b3048e24217b80ec6bd78a3e99a47c01b F src/analyze.c ab57b6763dd4c6170a20673d14882c033affd188 -F src/attach.c 3d23c66919305799201749c75cae4774a520d773 +F src/attach.c 771153bd1f4ab0b97a44a13dde2c7e5e1efeba22 F src/auth.c b56c78ebe40a2110fd361379f7e8162d23f92240 F src/backup.c f60f0aa55d25d853ffde53d0b0370a7bb7ee41ce F src/bitvec.c 3ee4c8b2c94ed3a7377256e18199e6ff5cf33f63 F src/btmutex.c bc87dd3b062cc26edfe79918de2200ccb8d41e73 -F src/btree.c be3ac34a9d669fed0e0b315e4b62fb198b3534a1 +F src/btree.c 2712f087351f5c4ff0e71631b1e67b461611b99d F src/btree.h a5008b9afe56e8e54ade6c436a910f112defcca9 F src/btreeInt.h c18b7d2a3494695133e4e60ee36061d37f45d9a5 F src/build.c 43b93fe757bfffe00f97462596418b052eefdccd @@ -313,7 +313,7 @@ F src/hwtime.h d32741c8f4df852c7d959236615444e2b1063b08 F src/insert.c 723d5d708cdb61bdd47c00b9f07c75be45aefc09 F src/legacy.c 75d3023be8f0d2b99d60f905090341a03358c58e F src/loadext.c 9e2a41adcaff16ebc1ebff1f336cbf33de55396f -F src/main.c ae066482662f47b596ff5441c3efc8f6536761b8 +F src/main.c 29ea8ebb23ceb5159da167e18d5c807fbb1545c4 F src/malloc.c 1443d1ad95d67c21d77af7ae3f44678252f0efec F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645 F src/mem1.c 6919bcf12f221868ea066eec27e579fed95ce98b @@ -353,7 +353,7 @@ F src/shell.c 5e0ab1e708dc294330ccd8230536e1801f60822e F src/sqlite.h.in 0235586b3fb639e85998d495c90f007657fd82af F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8 F src/sqlite3ext.h dfbe62ffd95b99afe2140d8c35b180d11924072d -F src/sqliteInt.h fa49759aff49ab56eed9c0b4670895924b66aedb +F src/sqliteInt.h b017fbf491606a0fd1a5d43af40dbe965a928ead F src/sqliteLimit.h 7b28cf72cbd52f178bfc97ea266445e351f2cd24 F src/status.c 70912d7be68e9e2dbc4010c93d344af61d4c59ba F src/table.c 5226df15ab9179b9ed558d89575ea0ce37b03fc9 @@ -1454,7 +1454,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P 1fefa967aa93372d232b96b1e0232b7b855d6d00 -R 96b74d7d7452050d9fb3b3bb7ed48b9b +P 5791407b523abd24e832fc2361b3e9f01ee2f36a +R bba2e4d185d472ce58e719fcfcf03f67 U drh -Z fb25535cfc55b70029b29a9169aa4b7e +Z 6f7df0629a8472a1465e8e2960a9953c diff --git a/manifest.uuid b/manifest.uuid index 1546aa7117..ba3ff1f350 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -5791407b523abd24e832fc2361b3e9f01ee2f36a \ No newline at end of file +592d2104361500e5002783ba329a2609389c57b9 \ No newline at end of file diff --git a/src/attach.c b/src/attach.c index 30f6739bba..ea378a40a2 100644 --- a/src/attach.c +++ b/src/attach.c @@ -161,7 +161,7 @@ static void attachFunc( #endif sqlite3BtreeLeave(aNew->pBt); } - aNew->safety_level = SQLITE_DEFAULT_SYNCHRONOUS; + aNew->safety_level = SQLITE_DEFAULT_SYNCHRONOUS+1; aNew->zName = sqlite3DbStrDup(db, zName); if( rc==SQLITE_OK && aNew->zName==0 ){ rc = SQLITE_NOMEM_BKPT; diff --git a/src/btree.c b/src/btree.c index bc16cbedd4..4b9bba55ac 100644 --- a/src/btree.c +++ b/src/btree.c @@ -2871,9 +2871,9 @@ static int lockBtree(BtShared *pBt){ if( (db=pBt->db)!=0 && (pDb=db->aDb)!=0 ){ while( pDb->pBt==0 || pDb->pBt->pBt!=pBt ){ pDb++; } if( pDb->bSyncSet==0 - && pDb->safety_level==SQLITE_DEFAULT_SYNCHRONOUS + && pDb->safety_level==SQLITE_DEFAULT_SYNCHRONOUS+1 ){ - pDb->safety_level = SQLITE_DEFAULT_WAL_SYNCHRONOUS; + pDb->safety_level = SQLITE_DEFAULT_WAL_SYNCHRONOUS+1; sqlite3PagerSetFlags(pBt->pPager, pDb->safety_level | (db->flags & PAGER_FLAGS_MASK)); } diff --git a/src/main.c b/src/main.c index fd74c97e29..70e46a4ee1 100644 --- a/src/main.c +++ b/src/main.c @@ -2878,7 +2878,7 @@ static int openDatabase( ** database it is OFF. This matches the pager layer defaults. */ db->aDb[0].zName = "main"; - db->aDb[0].safety_level = SQLITE_DEFAULT_SYNCHRONOUS; + db->aDb[0].safety_level = SQLITE_DEFAULT_SYNCHRONOUS+1; db->aDb[1].zName = "temp"; db->aDb[1].safety_level = PAGER_SYNCHRONOUS_OFF; diff --git a/src/sqliteInt.h b/src/sqliteInt.h index a49601e748..741caec3e3 100644 --- a/src/sqliteInt.h +++ b/src/sqliteInt.h @@ -1006,10 +1006,23 @@ typedef struct With With; #include "mutex.h" /* -** Default synchronous levels +** Default synchronous levels. +** +** Note that (for historcal reasons) the PAGER_SYNCHRONOUS_* macros differ +** from the SQLITE_DEFAULT_SYNCHRONOUS value by 1. +** +** PAGER_SYNCHRONOUS DEFAULT_SYNCHRONOUS +** OFF 1 0 +** NORMAL 2 1 +** FULL 3 2 +** EXTRA 4 3 +** +** The "PRAGMA synchronous" statement also uses the zero-based numbers. +** In other words, the zero-based numbers are used for all external interfaces +** and the one-based values are used internally. */ #ifndef SQLITE_DEFAULT_SYNCHRONOUS -# define SQLITE_DEFAULT_SYNCHRONOUS PAGER_SYNCHRONOUS_FULL +# define SQLITE_DEFAULT_SYNCHRONOUS (PAGER_SYNCHRONOUS_FULL-1) #endif #ifndef SQLITE_DEFAULT_WAL_SYNCHRONOUS # define SQLITE_DEFAULT_WAL_SYNCHRONOUS SQLITE_DEFAULT_SYNCHRONOUS