From: dan Date: Fri, 28 Dec 2018 16:20:53 +0000 (+0000) Subject: Add new test file wal2rollback.test to this branch. X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d445ed094a97768bfe3144f797a22c4116b5ecdc;p=thirdparty%2Fsqlite.git Add new test file wal2rollback.test to this branch. FossilOrigin-Name: 85a376fc6c77117b96814df800b3d68a441d69602ffc2eb8cd7dba29f25d69aa --- diff --git a/manifest b/manifest index 80a2f721d2..36037e002a 100644 --- 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 diff --git a/manifest.uuid b/manifest.uuid index f8fc8d6c56..77bae9be40 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -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 index 0000000000..91842ee220 --- /dev/null +++ b/test/wal2rollback.test @@ -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