diff options
Diffstat (limited to 'components/external/SQLite-3.8.1/test/sharedlock.test')
| -rw-r--r-- | components/external/SQLite-3.8.1/test/sharedlock.test | 82 |
1 files changed, 0 insertions, 82 deletions
diff --git a/components/external/SQLite-3.8.1/test/sharedlock.test b/components/external/SQLite-3.8.1/test/sharedlock.test deleted file mode 100644 index caa48f5bbd..0000000000 --- a/components/external/SQLite-3.8.1/test/sharedlock.test +++ /dev/null @@ -1,82 +0,0 @@ -# 2009 July 2 -# -# 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. -# -#*********************************************************************** -# -# $Id: sharedlock.test,v 1.1 2009/07/02 17:21:58 danielk1977 Exp $ - -set testdir [file dirname $argv0] -source $testdir/tester.tcl -set testprefix sharedlock -db close - -ifcapable !shared_cache { - finish_test - return -} - -set ::enable_shared_cache [sqlite3_enable_shared_cache 1] -sqlite3 db test.db -sqlite3 db2 test.db - -do_test sharedlock-1.1 { - execsql { - CREATE TABLE t1(a, b); - INSERT INTO t1 VALUES(1, 'one'); - INSERT INTO t1 VALUES(2, 'two'); - } -} {} - -do_test sharedlock-1.2 { - set res [list] - db eval { SELECT * FROM t1 ORDER BY rowid } { - lappend res $a $b - if {$a == 1} { catch { db eval "INSERT INTO t1 VALUES(3, 'three')" } } - - # This should fail. Connection [db] has a read-lock on t1, which should - # prevent connection [db2] from obtaining the write-lock it needs to - # modify t1. At one point there was a bug causing the previous INSERT - # to drop the read-lock belonging to [db]. - if {$a == 2} { catch { db2 eval "INSERT INTO t1 VALUES(4, 'four')" } } - } - set res -} {1 one 2 two 3 three} - - -#------------------------------------------------------------------------- -# Test that a write-lock is taken on a table when its entire contents -# are deleted using the OP_Clear optimization. -# -foreach {tn delete_sql} { - 1 { DELETE FROM t2 WHERE 1 } - 2 { DELETE FROM t2 } -} { - do_execsql_test 2.1 { - DROP TABLE IF EXISTS t2; - CREATE TABLE t2(x, y); - INSERT INTO t2 VALUES(1, 2); - INSERT INTO t2 VALUES(3, 4); - } - - do_test 2.2 { execsql { SELECT * FROM t2 } db2 } {1 2 3 4} - - do_execsql_test 2.3 " BEGIN; $delete_sql; " - - do_test 2.4 { - catchsql { SELECT * FROM t2 } db2 - } {1 {database table is locked: t2}} - - do_execsql_test 2.5 COMMIT -} - - -db close -db2 close -sqlite3_enable_shared_cache $::enable_shared_cache -finish_test |
