diff --git a/manifest b/manifest index 683f9a3367..5760c8ec05 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C In\ssqlite3AddColumn(),\suse\slocal\svariable\s'db'\sinstead\sof\s'pParse->db'.\s(CVS\s6056) -D 2008-12-23T11:11:51 +C Add\sa\stest\sto\ssavepoint.test\sthat\stests\sthat\snothing\sgoes\swrong\sif\san\sincremental\svacuum\soccurs\sinside\sa\ssavepoint.\s(CVS\s6057) +D 2008-12-23T11:46:28 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0 F Makefile.in 77635d0909c2067cee03889a1e04ce910d8fb809 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654 @@ -492,7 +492,7 @@ F test/rollback.test 1f70ab4301d8d105d41438a436cad1fc8897f5e5 F test/rowid.test 1c8fc43c60d273e6ea44dfb992db587f3164312c F test/rtree.test b85fd4f0861a40ca366ac195e363be2528dcfadf F test/safety.test b69e2b2dd5d52a3f78e216967086884bbc1a09c6 -F test/savepoint.test 24b7d67971c0b7a8d22ba1cabbfd846e72f21594 +F test/savepoint.test 5d43369333ab373c4bde69f090a1659c8d2275de F test/savepoint2.test 18f6c75d5c133b93838019df8988b8cdf379d3de F test/savepoint3.test b3c9aa5af3f777ccb8b9e15597c75c93eb5bc369 F test/savepoint4.test fd8850063e3c40565545f5c291e7f79a30591670 @@ -684,7 +684,7 @@ F tool/speedtest16.c c8a9c793df96db7e4933f0852abb7a03d48f2e81 F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e -P ae44e7482476478c8eeacfb80b282f17894530e5 -R 9276baa80abf6b4b4dab95ac943c4f7a +P 0c53a4c2da31f91947f1347f1d33d0c83b843d26 +R 69a2575f1608bb2456de34d99c90c314 U danielk1977 -Z 329c40aff865495d69bd924d004c9e87 +Z a550b3819182c5fbaaf055096d0ff219 diff --git a/manifest.uuid b/manifest.uuid index 6b5dae1275..d9400aaacf 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -0c53a4c2da31f91947f1347f1d33d0c83b843d26 \ No newline at end of file +fc4f0621535e27eceb0b4b900a8c59dc06e84487 \ No newline at end of file diff --git a/test/savepoint.test b/test/savepoint.test index 2034250565..91c087d2db 100644 --- a/test/savepoint.test +++ b/test/savepoint.test @@ -9,7 +9,7 @@ # #*********************************************************************** # -# $Id: savepoint.test,v 1.2 2008/12/18 18:31:39 danielk1977 Exp $ +# $Id: savepoint.test,v 1.3 2008/12/23 11:46:28 danielk1977 Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl @@ -330,5 +330,51 @@ do_test savepoint-5.4.4 { execsql { SELECT x FROM blobs WHERE rowid = 2 } } {{another blob}} +#------------------------------------------------------------------------- +# The following tests, savepoint-6.*, test an incr-vacuum inside of a +# couple of nested savepoints. +# +ifcapable {autovacuum && pragma} { + db close + file delete -force test.db + sqlite3 db test.db + + do_test savepoint-6.1 { + execsql { + PRAGMA auto_vacuum = incremental; + CREATE TABLE t1(a, b, c); + CREATE INDEX i1 ON t1(a, b); + BEGIN; + INSERT INTO t1 VALUES(randstr(10,400),randstr(10,400),randstr(10,400)); + } + set r "randstr(10,400)" + for {set ii 0} {$ii < 10} {incr ii} { + execsql "INSERT INTO t1 SELECT $r, $r, $r FROM t1" + } + execsql { COMMIT } + } {} + + integrity_check savepoint-6.2 + + do_test savepoint-6.3 { + execsql { + PRAGMA cache_size = 10; + BEGIN; + UPDATE t1 SET a = randstr(10,10) WHERE (rowid%4)==0; + SAVEPOINT one; + DELETE FROM t1 WHERE rowid%2; + PRAGMA incr_vacuum; + SAVEPOINT two; + INSERT INTO t1 SELECT randstr(10,400), randstr(10,400), c FROM t1; + DELETE FROM t1 WHERE rowid%2; + PRAGMA incr_vacuum; + ROLLBACK TO one; + COMMIT; + } + } {} + + integrity_check savepoint-6.4 +} + finish_test