]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Add a test to savepoint.test that tests that nothing goes wrong if an incremental...
authordanielk1977 <danielk1977@noemail.net>
Tue, 23 Dec 2008 11:46:28 +0000 (11:46 +0000)
committerdanielk1977 <danielk1977@noemail.net>
Tue, 23 Dec 2008 11:46:28 +0000 (11:46 +0000)
FossilOrigin-Name: fc4f0621535e27eceb0b4b900a8c59dc06e84487

manifest
manifest.uuid
test/savepoint.test

index 683f9a336772ba0775dc25068b3cf5f6f1de28cc..5760c8ec05df416d6fa19ee3128017cdcd3aec4c 100644 (file)
--- 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
index 6b5dae12751b695e3b00c3b7e3fa6940bf37c8b1..d9400aaacf4f04526cebfdec5af4dfb63430708b 100644 (file)
@@ -1 +1 @@
-0c53a4c2da31f91947f1347f1d33d0c83b843d26
\ No newline at end of file
+fc4f0621535e27eceb0b4b900a8c59dc06e84487
\ No newline at end of file
index 20342505651f11d5cc68ad7a04d5c45dce5dc96d..91c087d2db82eda50e5f4245cd6f60a875f4eb91 100644 (file)
@@ -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