]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Add new test file wal2rollback.test to this branch.
authordan <dan@noemail.net>
Fri, 28 Dec 2018 16:20:53 +0000 (16:20 +0000)
committerdan <dan@noemail.net>
Fri, 28 Dec 2018 16:20:53 +0000 (16:20 +0000)
FossilOrigin-Name: 85a376fc6c77117b96814df800b3d68a441d69602ffc2eb8cd7dba29f25d69aa

manifest
manifest.uuid
test/wal2rollback.test [new file with mode: 0644]

index 80a2f721d2d5a8cc4efe445be0ccbfe3aedd42ae..36037e002a49eda873e17c579e07870344cdebab 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Increase\stest\scoverage\sof\swal.c\sprovided\sby\spermutation\s"coverage-wal"\son\sthis\nbranch.
-D 2018-12-27T16:49:33.954
+C Add\snew\stest\sfile\swal2rollback.test\sto\sthis\sbranch.
+D 2018-12-28T16:20:53.421
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F Makefile.in d8b254f8bb81bab43c340d70d17dc3babab40fcc8a348c8255881f780a45fee6
@@ -1609,6 +1609,7 @@ F test/wal2lock.test 0ef98d72dc6bcf7711dedd684760488400d9a9a6eec0dc5d38220604377
 F test/wal2recover.test ba8f4bc9397c838734619f9e759bd98b00e355347b3cf80a2e677610d231d5d8
 F test/wal2recover2.test d473784bc72ee70438d1aa1cbe449fb322d7e52e8eaa256135fb3182c66b1c78
 F test/wal2rewrite.test 6ca6f631ffcf871240beab5f02608913fd075c6d0d31310b026c8383c65c9f9c
+F test/wal2rollback.test 23adc4a099b23f6aaea8b04fdca1c35861d887dd80f8be7da2d5273eb777e428
 F test/wal2savepoint.test 2c82bd6a6ee5066c156040d2e9c2415646fcf96116ae7ad127eaf0c0b4a85f22
 F test/wal2simple.test 96206c98bf64ab20ec00a1c0f6c709e258b98b39f2149889361f31966ce5a703
 F test/wal2snapshot.test 7a5f4629a3c43a43c3440b8b2ea9f07de91a46b0b9eea5f08f62b5bf5b6468df
@@ -1804,7 +1805,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 63483e22c775183e01924b5cb3d0f3655b63c3cdd06faf26cacd4d0913c0055c
-R 44506fb1f03e87f3f3981d2947902fad
+P 2f7f893a702728745445f6ef5f914c1157058a8fbdfd1a58cfb8906e5566729d
+R 8f41f427e8d991f531c57ad5df021eef
 U dan
-Z 537fbe586afdb7bdeed308e7bd56f47e
+Z 5c736bd8817b6ee9ab94ee65b14c8406
index f8fc8d6c56cb56fcd987b2480ca4007e50a669c1..77bae9be4026c2e8b5954b5b845a8507eb8b7425 100644 (file)
@@ -1 +1 @@
-2f7f893a702728745445f6ef5f914c1157058a8fbdfd1a58cfb8906e5566729d
\ No newline at end of file
+85a376fc6c77117b96814df800b3d68a441d69602ffc2eb8cd7dba29f25d69aa
\ No newline at end of file
diff --git a/test/wal2rollback.test b/test/wal2rollback.test
new file mode 100644 (file)
index 0000000..91842ee
--- /dev/null
@@ -0,0 +1,62 @@
+# 2017 September 19
+#
+# The author disclaims copyright to this source code.  In place of
+# a legal notice, here is a blessing:
+#
+#    May you do good and not evil.
+#    May you find forgiveness for yourself and forgive others.
+#    May you share freely, never taking more than you give.
+#
+#***********************************************************************
+# This file implements regression tests for SQLite library.  The
+# focus of this file is testing the operation of the library in
+# "PRAGMA journal_mode=WAL2" mode.
+#
+
+set testdir [file dirname $argv0]
+source $testdir/tester.tcl
+source $testdir/lock_common.tcl
+source $testdir/malloc_common.tcl
+source $testdir/wal_common.tcl
+
+set testprefix wal2rollback
+ifcapable !wal {finish_test ; return }
+
+do_execsql_test 1.0 {
+  CREATE TABLE t1(a, b, c);
+  CREATE TABLE t2(a, b, c);
+  CREATE INDEX i1 ON t1(a);
+  CREATE INDEX i2 ON t1(b);
+  PRAGMA journal_mode = wal2;
+  PRAGMA cache_size = 5;
+  PRAGMA journal_size_limit = 10000;
+  WITH s(i) AS (
+    SELECT 1 UNION ALL SELECT i+1 FROM s LIMIT 1000
+  )
+  INSERT INTO t1 SELECT i, i, randomblob(200) FROM s;
+} {wal2 10000}
+
+do_test 1.1 {
+  expr [file size test.db-wal] > 10000
+} 1
+
+do_test 1.2 {
+  execsql {
+    BEGIN;
+      UPDATE t1 SET b=b+1;
+      INSERT INTO t2 VALUES(1,2,3);
+  }
+  expr [file size test.db-wal2] > 10000
+} {1}
+
+breakpoint
+do_execsql_test 1.3 {
+  ROLLBACK;
+  SELECT * FROM t2;
+  SELECT count(*) FROM t1 WHERE a=b;
+  PRAGMA integrity_check;
+} {1000 ok}
+
+
+
+finish_test