]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Make the SQLITE_DEFAULT_SYNCHRONOUS and SQLITE_DEFAULT_WAL_SYNCHRONOUS default-synchronous
authordrh <drh@noemail.net>
Tue, 8 Mar 2016 15:30:01 +0000 (15:30 +0000)
committerdrh <drh@noemail.net>
Tue, 8 Mar 2016 15:30:01 +0000 (15:30 +0000)
values zero-based to agree with PRAGMA synchronous.

FossilOrigin-Name: 592d2104361500e5002783ba329a2609389c57b9

manifest
manifest.uuid
src/attach.c
src/btree.c
src/main.c
src/sqliteInt.h

index 64534b8ae9ee775ad8dd0237c81f25f6652b6604..f00f793ab64bac8b41fd6a873b20eb0bfa818e81 100644 (file)
--- 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
index 1546aa71178bcd94b7ea81ab78b86d0d876e856c..ba3ff1f350ad765fd2dba7d5e3c5883827db75d9 100644 (file)
@@ -1 +1 @@
-5791407b523abd24e832fc2361b3e9f01ee2f36a
\ No newline at end of file
+592d2104361500e5002783ba329a2609389c57b9
\ No newline at end of file
index 30f6739bbafbb0cbbb04572a53f631ce3eba3a1b..ea378a40a2ead6dfd1b0fceaba26d08a9ca806a4 100644 (file)
@@ -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;
index bc16cbedd4abd60e1669164d837020a25d21d9a4..4b9bba55ac5e8ca8d1441d0a60c731f492b83720 100644 (file)
@@ -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));
           }
index fd74c97e2912f8fe78dee5f50ca561f963d1213a..70e46a4ee1ac5f3a7d7ade0ba0c446ee69ca5465 100644 (file)
@@ -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;
 
index a49601e748802cf58fe1333d164dd3aeb6deeb48..741caec3e33fe8269d00397f776aba9c1f840338 100644 (file)
@@ -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