]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Silently ignore requests to change the PRAGMA synchronous setting to an
authordrh <drh@noemail.net>
Thu, 16 Apr 2015 16:04:39 +0000 (16:04 +0000)
committerdrh <drh@noemail.net>
Thu, 16 Apr 2015 16:04:39 +0000 (16:04 +0000)
illegal integer value, rather than raising an assertion.

FossilOrigin-Name: e0a88176fcfbed7b554a036948261a332c920053

manifest
manifest.uuid
src/pragma.c
test/pragma.test

index d7954dddf76746d077661e6a25a949130b5ce983..2370ea266a18a7920201eee4ca54f846816f1409 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Make\ssure\serrors\sin\scoding\striggers\sare\spropagated\sback\sup\sto\sthe\sparser.
-D 2015-04-16T15:47:06.148
+C Silently\signore\srequests\sto\schange\sthe\sPRAGMA\ssynchronous\ssetting\sto\san\nillegal\sinteger\svalue,\srather\sthan\sraising\san\sassertion.
+D 2015-04-16T16:04:39.846
 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
 F Makefile.in 5f78b1ab81b64e7c57a75d170832443e66c0880a
 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@@ -223,7 +223,7 @@ F src/parse.y b5c16bc5aa5e59a7ceb0fe94defa9dce3a6b1d3c
 F src/pcache.c 10539fb959849ad6efff80050541cab3d25089d4
 F src/pcache.h b44658c9c932d203510279439d891a2a83e12ba8
 F src/pcache1.c 69d137620a305f814398bd29a0c998038c0695e9
-F src/pragma.c 3965ae4e82bed39fb97ce04c5fe18c9bc3ee6a88
+F src/pragma.c 633cb355ab30b197d4e8e9976f94378199439b76
 F src/pragma.h 09c89bca58e9a44de2116cc8272b8d454657129f
 F src/prepare.c 1fffbdcd6f8a0173a8f70d71f22528f4c0e1e3d3
 F src/printf.c 08fa675c200aac29e561c6153f91f909ed17612f
@@ -794,7 +794,7 @@ F test/pcache.test b09104b03160aca0d968d99e8cd2c5b1921a993d
 F test/pcache2.test a83efe2dec0d392f814bfc998def1d1833942025
 F test/percentile.test 4243af26b8f3f4555abe166f723715a1f74c77ff
 F test/permutations.test f9cc1dd987986c9d4949211c7a4ed55ec9aecba1
-F test/pragma.test e6605ce89c66db930aef561e43a22281a09ffc66
+F test/pragma.test 2e3d20785e463d7eeed636cba16e742b5df88073
 F test/pragma2.test f624a496a95ee878e81e59961eade66d5c00c028
 F test/pragma3.test 6f849ccffeee7e496d2f2b5e74152306c0b8757c
 F test/printf.test b3ff34e73d59124140eaf89f7672e21bc2ca5fcc
@@ -1250,7 +1250,7 @@ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1
 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
 F tool/warnings.sh 0abfd78ceb09b7f7c27c688c8e3fe93268a13b32
 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P dd96211e8022365637286b146120cc5db44a9923
-R 046f14926b5af5dfc4416003fb47b3d1
+P 928f973ca9adc7933015b2fb6b6fcb8e3154cb9c
+R f9e99024211f275c6c5be92b169c1ffa
 U drh
-Z 6ea7be360982608826bd8c7c45584988
+Z 092fd595f2813758c3267ca51aac5606
index 7832a2dde8fc0154a92a8f091a45b2884827be33..91ff8f2a2e3bf1790c62f8a3c0e99dd8ee9cd23a 100644 (file)
@@ -1 +1 @@
-928f973ca9adc7933015b2fb6b6fcb8e3154cb9c
\ No newline at end of file
+e0a88176fcfbed7b554a036948261a332c920053
\ No newline at end of file
index 8f6ac647547fbc8f68e10c35e0b5da4060b7f48e..3cecd8dda532029854008d4d27c0ad6f37841d26 100644 (file)
@@ -946,7 +946,9 @@ void sqlite3Pragma(
         sqlite3ErrorMsg(pParse, 
             "Safety level may not be changed inside a transaction");
       }else{
-        pDb->safety_level = getSafetyLevel(zRight,0,1)+1;
+        testcase( (getSafetyLevel(zRight,0,1)+1) & ~PAGER_SYNCHRONOUS_MASK );
+        pDb->safety_level = (getSafetyLevel(zRight,0,1)+1)
+                                & PAGER_SYNCHRONOUS_MASK;
         setAllPagerFlags(db);
       }
     }
index e8a53f442dcc5bbba6bb4493d2d892c875f5201f..a45dc45a4438513b1e4d0b873bac68166d2423fa 100644 (file)
@@ -219,6 +219,18 @@ do_test pragma-1.14 {
     PRAGMA synchronous;
   }
 } {2}
+do_test pragma-1.14.1 {
+  execsql {
+    PRAGMA synchronous=4;
+    PRAGMA synchronous;
+  }
+} {0}
+do_test pragma-1.14.2 {
+  execsql {
+    PRAGMA synchronous=10;
+    PRAGMA synchronous;
+  }
+} {2}
 } ;# ifcapable pager_pragmas
 
 # Test turning "flag" pragmas on and off.