Index: third_party/sqlite/sqlite-src-3080704/test/incrvacuum3.test |
diff --git a/third_party/sqlite/sqlite-src-3080704/test/incrvacuum3.test b/third_party/sqlite/sqlite-src-3080704/test/incrvacuum3.test |
deleted file mode 100644 |
index e901bfe1f59bd26ba083551eea08dde5f98fdd5d..0000000000000000000000000000000000000000 |
--- a/third_party/sqlite/sqlite-src-3080704/test/incrvacuum3.test |
+++ /dev/null |
@@ -1,153 +0,0 @@ |
-# 2013 Feb 25 |
-# |
-# 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 the SQLite library, focusing |
-# on the incremental vacuum feature. |
-# |
-# The tests in this file were added at the same time as optimizations |
-# were made to: |
-# |
-# * Truncate the database after a rollback mode commit, and |
-# |
-# * Avoid moving pages to locations from which they may need to be moved |
-# a second time if an incremental-vacuum proccess is allowed to vacuum |
-# the entire database. |
-# |
- |
-set testdir [file dirname $argv0] |
-source $testdir/tester.tcl |
-set testprefix incrvacuum3 |
- |
-# If this build of the library does not support auto-vacuum, omit this |
-# whole file. |
-ifcapable {!autovacuum || !pragma} { |
- finish_test |
- return |
-} |
- |
-proc check_on_disk {} { |
- |
- # Copy the wal and journal files for database "test.db" to "test2.db". |
- forcedelete test2.db test2.db-journal test2.db-wal |
- if {[file exists test.db-journal]} { |
- forcecopy test.db-journal test2.db-journal |
- } |
- if {[file exists test.db-wal]} { |
- forcecopy test.db-wal test2.db-wal |
- } |
- |
- # Now copy the database file itself. Do this using open/read/puts |
- # instead of the [file copy] command in order to avoid attempting |
- # to read the 512 bytes begining at offset $sqlite_pending_byte. |
- # |
- set sz [file size test.db] |
- set fd [open test.db] |
- set fd2 [open test2.db w] |
- fconfigure $fd -encoding binary -translation binary |
- fconfigure $fd2 -encoding binary -translation binary |
- if {$sz>$::sqlite_pending_byte} { |
- puts -nonewline $fd2 [read $fd $::sqlite_pending_byte] |
- seek $fd [expr $::sqlite_pending_byte+512] |
- seek $fd2 [expr $::sqlite_pending_byte+512] |
- } |
- puts -nonewline $fd2 [read $fd] |
- close $fd2 |
- close $fd |
- |
- # Open "test2.db" and check it is Ok. |
- sqlite3 dbcheck test2.db |
- set ret [dbcheck eval { PRAGMA integrity_check }] |
- dbcheck close |
- set ret |
-} |
- |
-# Run these tests once in rollback journal mode, and once in wal mode. |
-# |
-foreach {T jrnl_mode} { |
- 1 delete |
- 2 wal |
-} { |
- catch { db close } |
- forcedelete test.db test.db-journal test.db-wal |
- sqlite3 db test.db |
- db eval { |
- PRAGMA cache_size = 5; |
- PRAGMA page_size = 1024; |
- PRAGMA auto_vacuum = 2; |
- } |
- db eval "PRAGMA journal_mode = $jrnl_mode" |
- |
- foreach {tn sql} { |
- 1 { |
- CREATE TABLE t1(x UNIQUE); |
- INSERT INTO t1 VALUES(randomblob(400)); |
- INSERT INTO t1 VALUES(randomblob(400)); |
- INSERT INTO t1 SELECT randomblob(400) FROM t1; -- 4 |
- INSERT INTO t1 SELECT randomblob(400) FROM t1; -- 8 |
- INSERT INTO t1 SELECT randomblob(400) FROM t1; -- 16 |
- INSERT INTO t1 SELECT randomblob(400) FROM t1; -- 32 |
- INSERT INTO t1 SELECT randomblob(400) FROM t1; -- 64 |
- INSERT INTO t1 SELECT randomblob(400) FROM t1; -- 128 |
- INSERT INTO t1 SELECT randomblob(400) FROM t1; -- 256 |
- } |
- |
- 2 { |
- DELETE FROM t1 WHERE rowid%8; |
- } |
- |
- 3 { |
- BEGIN; |
- PRAGMA incremental_vacuum = 100; |
- INSERT INTO t1 SELECT randomblob(400) FROM t1; -- 64 |
- INSERT INTO t1 SELECT randomblob(400) FROM t1; -- 128 |
- INSERT INTO t1 SELECT randomblob(400) FROM t1; -- 256 |
- ROLLBACK; |
- } |
- |
- 4 { |
- BEGIN; |
- SAVEPOINT one; |
- PRAGMA incremental_vacuum = 100; |
- SAVEPOINT two; |
- INSERT INTO t1 SELECT randomblob(400) FROM t1; -- 64 |
- INSERT INTO t1 SELECT randomblob(400) FROM t1; -- 128 |
- INSERT INTO t1 SELECT randomblob(400) FROM t1; -- 256 |
- } |
- |
- 5 { ROLLBACK to two } |
- |
- 6 { ROLLBACK to one } |
- |
- 7 { |
- INSERT INTO t1 SELECT randomblob(400) FROM t1; -- 64 |
- PRAGMA incremental_vacuum = 1000; |
- INSERT INTO t1 SELECT randomblob(400) FROM t1; -- 128 |
- INSERT INTO t1 SELECT randomblob(400) FROM t1; -- 256 |
- ROLLBACK; |
- } |
- |
- 8 { |
- BEGIN; |
- INSERT INTO t1 SELECT randomblob(400) FROM t1; -- 64 |
- PRAGMA incremental_vacuum = 1000; |
- INSERT INTO t1 SELECT randomblob(400) FROM t1; -- 128 |
- COMMIT; |
- } |
- } { |
- do_execsql_test $T.1.$tn.1 $sql |
- do_execsql_test $T.1.$tn.2 {PRAGMA integrity_check} ok |
- do_test $T.1.$tn.3 { check_on_disk } ok |
- } |
- |
- do_execsql_test $T.1.x.1 { PRAGMA freelist_count } 0 |
- do_execsql_test $T.1.x.2 { SELECT count(*) FROM t1 } 128 |
-} |
- |
-finish_test |