]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Change an assert in pager.c to acknowledge that it is possible for sqlite3PagerRollba...
authordan <dan@noemail.net>
Tue, 2 Apr 2013 18:31:29 +0000 (18:31 +0000)
committerdan <dan@noemail.net>
Tue, 2 Apr 2013 18:31:29 +0000 (18:31 +0000)
FossilOrigin-Name: d641d3d20d80fdb86d91de31fcf2eb5ca3c5c715

manifest
manifest.uuid
src/pager.c
test/wal.test

index 0d221db3d2829f39eee149c00bc4ab151be45c36..a0457959ef8fb5e8e6a81187f3dc81d8ccbd9ab0 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Fix\sthe\sbuild\sfor\sMac.
-D 2013-04-02T18:25:04.196
+C Change\san\sassert\sin\spager.c\sto\sacknowledge\sthat\sit\sis\spossible\sfor\ssqlite3PagerRollback()\sto\sreturn\sSQLITE_CORRUPT.
+D 2013-04-02T18:31:29.703
 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
 F Makefile.in df3e48659d80e1b7765785d8d66c86b320f72cc7
 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@@ -162,7 +162,7 @@ F src/os.h ae08bcc5f6ec6b339f4a2adf3931bb88cc14c3e4
 F src/os_common.h 92815ed65f805560b66166e3583470ff94478f04
 F src/os_unix.c 42684a59b06b912b3ab80a8ad9f4295c0572a1f4
 F src/os_win.c 6822b2cda33f025ce7fe240ec050b9bcba213903
-F src/pager.c 46fa7d8b29e7fb8baa6111690d900c9111a5a397
+F src/pager.c e26184d451207542d56bd09b84339252a194791e
 F src/pager.h 5cb78b8e1adfd5451e600be7719f5a99d87ac3b1
 F src/parse.y 5d5e12772845805fdfeb889163516b84fbb9ae95
 F src/pcache.c f8043b433a57aba85384a531e3937a804432a346
@@ -953,7 +953,7 @@ F test/vtabF.test fd5ad376f5a34fe0891df1f3cddb4fe7c3eb077e
 F test/vtab_alter.test 9e374885248f69e251bdaacf480b04a197f125e5
 F test/vtab_err.test 0d4d8eb4def1d053ac7c5050df3024fd47a3fbd8
 F test/vtab_shared.test 82f463886e18d7f8395a4b6167c91815efe54839
-F test/wal.test bbd98ac09d8fbcaa80ec233757056eb1bbb7cd95
+F test/wal.test 62454b2cf00b311e9e65f898aad0fef536ed561a
 F test/wal2.test d4b470f13c87f6d8268b004380afa04c3c67cb90
 F test/wal3.test b22eb662bcbc148c5f6d956eaf94b047f7afe9c0
 F test/wal4.test 4744e155cd6299c6bd99d3eab1c82f77db9cdb3c
@@ -1042,7 +1042,7 @@ F tool/vdbe-compress.tcl f12c884766bd14277f4fcedcae07078011717381
 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
 F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381
 F tool/win/sqlite.vsix 97894c2790eda7b5bce3cc79cb2a8ec2fde9b3ac
-P 7fe908afeba16f64edc16824c67b396138581a8f
-R 1e903cf5fbaea8405561162b82cab3c1
-U drh
-Z 5ee32a75ebc407142eddeaec11f8a36d
+P d36ce0bbad58445c983597ee93438fe07b659cdc
+R 338634a1c64bdacb6f3ed638ff14c520
+U dan
+Z 2347325502a78b990959c6fe11156215
index d71036670538f6773b2551b36d6373313a57b10d..b9069347bf6504c6ce191ff13f6769cb755a56ca 100644 (file)
@@ -1 +1 @@
-d36ce0bbad58445c983597ee93438fe07b659cdc
\ No newline at end of file
+d641d3d20d80fdb86d91de31fcf2eb5ca3c5c715
\ No newline at end of file
index cb2b39a9922028e61f5230d57c97c8cf86abf93c..f626a21d8931927903e528f00e55b7638f87304c 100644 (file)
@@ -6261,7 +6261,7 @@ int sqlite3PagerRollback(Pager *pPager){
   }
 
   assert( pPager->eState==PAGER_READER || rc!=SQLITE_OK );
-  assert( rc==SQLITE_OK || rc==SQLITE_FULL
+  assert( rc==SQLITE_OK || rc==SQLITE_FULL || rc==SQLITE_CORRUPT
           || rc==SQLITE_NOMEM || (rc&0xFF)==SQLITE_IOERR );
 
   /* If an error occurs during a ROLLBACK, we can no longer trust the pager
index 0539192d25a34aed3b19d041b939ed5bf1ac93b8..f833b6ab1a4516a27f8074b3fdac07b55331cc18 100644 (file)
@@ -1569,6 +1569,26 @@ ifcapable autovacuum {
   } [wal_file_size 1 1024]
 }
 
+reset_db
+do_test 25 {
+  sqlite3 db test.db
+
+  execsql {
+    CREATE TABLE t1(x, y);
+    PRAGMA journal_mode = WAL;
+    INSERT INTO t1 VALUES(1, 2);
+  }
+
+  execsql {
+    BEGIN;
+      CREATE TABLE t2(a, b);
+  }
+
+  hexio_write test.db-shm [expr 16*1024] [string repeat 0055 8192]
+  catchsql ROLLBACK
+} {0 {}}
+
+
 db close
 sqlite3_shutdown
 test_sqlite3_log