Index: third_party/sqlite/sqlite-src-3080704/test/jrnlmode2.test |
diff --git a/third_party/sqlite/sqlite-src-3080704/test/jrnlmode2.test b/third_party/sqlite/sqlite-src-3080704/test/jrnlmode2.test |
deleted file mode 100644 |
index 6ea87d704b3f8c933dd1958fdce501c752cb8bc0..0000000000000000000000000000000000000000 |
--- a/third_party/sqlite/sqlite-src-3080704/test/jrnlmode2.test |
+++ /dev/null |
@@ -1,123 +0,0 @@ |
-# 2009 March 24 |
-# |
-# 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. |
-# |
-#*********************************************************************** |
-# |
- |
-set testdir [file dirname $argv0] |
-source $testdir/tester.tcl |
- |
-ifcapable {!pager_pragmas} { |
- finish_test |
- return |
-} |
- |
-#------------------------------------------------------------------------- |
-# The tests in this file check that the following two bugs (both now fixed) |
-# do not reappear. |
-# |
-# jrnlmode2-1.*: Demonstrate bug #3745: |
-# |
-# In persistent journal mode, if: |
-# |
-# * There is a persistent journal in the file-system, AND |
-# * there exists a connection with a shared lock on the db file, |
-# |
-# then a second connection cannot open a read-transaction on the database. |
-# The reason is because while determining that the persistent-journal is |
-# not a hot-journal, SQLite currently grabs an exclusive lock on the |
-# database file. If this fails because another connection has a shared |
-# lock, then SQLITE_BUSY is returned to the user. |
-# |
-# jrnlmode2-2.*: Demonstrate bug #3751: |
-# |
-# If a connection is opened in SQLITE_OPEN_READONLY mode, the underlying |
-# unix file descriptor on the database file is opened in O_RDONLY mode. |
-# |
-# When SQLite queries the database file for the schema in order to compile |
-# the SELECT statement, it sees the empty journal in the file system, it |
-# attempts to obtain an exclusive lock on the database file (this is a |
-# bug). The attempt to obtain an exclusive (write) lock on a read-only file |
-# fails at the OS level. Under unix, fcntl() reports an EBADF - "Bad file |
-# descriptor" - error. |
-# |
- |
-do_test jrnlmode2-1.1 { |
- execsql { |
- PRAGMA journal_mode = persist; |
- CREATE TABLE t1(a, b); |
- INSERT INTO t1 VALUES(1, 2); |
- } |
-} {persist} |
- |
-do_test jrnlmode2-1.2 { |
- file exists test.db-journal |
-} {1} |
- |
-do_test jrnlmode2-1.3 { |
- sqlite3 db2 test.db |
- execsql { SELECT * FROM t1 } db2 |
-} {1 2} |
- |
-do_test jrnlmode2-1.4 { |
- execsql { |
- INSERT INTO t1 VALUES(3, 4); |
- } |
- execsql { |
- BEGIN; |
- SELECT * FROM t1; |
- } |
- execsql { PRAGMA lock_status } |
-} {main shared temp closed} |
- |
-do_test jrnlmode2-1.5 { |
- file exists test.db-journal |
-} {1} |
- |
-do_test jrnlmode2-1.6 { |
- catchsql { SELECT * FROM t1 } db2 |
-} {0 {1 2 3 4}} |
- |
-do_test jrnlmode2-1.7 { |
- execsql { COMMIT } |
- catchsql { SELECT * FROM t1 } db2 |
-} {0 {1 2 3 4}} |
- |
- |
- |
-do_test jrnlmode2-2.1 { |
- db2 close |
- execsql { PRAGMA journal_mode = truncate } |
- execsql { INSERT INTO t1 VALUES(5, 6) } |
-} {} |
- |
-do_test jrnlmode2-2.2 { |
- file exists test.db-journal |
-} {1} |
- |
-do_test jrnlmode2-2.3 { |
- file size test.db-journal |
-} {0} |
- |
-do_test jrnlmode2-2.4 { |
- sqlite3 db2 test.db -readonly 1 |
- catchsql { SELECT * FROM t1 } db2 |
-} {0 {1 2 3 4 5 6}} |
- |
-do_test jrnlmode2-2.5 { |
- db close |
- delete_file test.db-journal |
-} {} |
-do_test jrnlmode2-2.6 { |
- sqlite3 db2 test.db -readonly 1 |
- catchsql { SELECT * FROM t1 } db2 |
-} {0 {1 2 3 4 5 6}} |
- |
-catch { db2 close } |
-finish_test |