⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lock5.test

📁 最新的sqlite3.6.2源代码
💻 TEST
字号:
# 2008 June 28## 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 SQLite library.  The# focus of this script is database locks.## $Id: lock5.test,v 1.2 2008/07/12 14:52:20 drh Exp $set testdir [file dirname $argv0]source $testdir/tester.tcl# This file is only run if using the unix backend compiled with the# SQLITE_ENABLE_LOCKING_STYLE macro.db closeif {[catch {sqlite3 db test.db -vfs unix-none} msg]} {puts $msg  finish_test  return}db closedo_test lock5-dotfile.1 {  sqlite3 db test.db -vfs unix-dotfile  execsql {    BEGIN;    CREATE TABLE t1(a, b);  }} {}do_test lock5-dotfile.2 {  file exists test.db.lock} {1}do_test lock5-dotfile.3 {  execsql COMMIT  file exists test.db.lock} {0}do_test lock5-dotfile.4 {  sqlite3 db2 test.db -vfs unix-dotfile  execsql {    INSERT INTO t1 VALUES('a', 'b');    SELECT * FROM t1;  } db2} {a b}do_test lock5-dotfile.5 {  execsql {    BEGIN;    SELECT * FROM t1;  } db2} {a b}do_test lock5-dotfile.6 {  file exists test.db.lock} {1}do_test lock5-dotfile.7 {  catchsql { SELECT * FROM t1; }} {1 {database is locked}}do_test lock5-dotfile.8 {  execsql {    SELECT * FROM t1;    ROLLBACK;  } db2} {a b}do_test lock5-dotfile.9 {  catchsql { SELECT * FROM t1; }} {0 {a b}}do_test lock5-dotfile.10 {  file exists test.db.lock} {0}do_test lock5-dotfile.X {  db2 close  execsql {BEGIN EXCLUSIVE}  db close  file exists test.db.lock} {0}#####################################################################file delete -force test.dbdo_test lock5-flock.1 {  sqlite3 db test.db -vfs unix-flock  execsql {    CREATE TABLE t1(a, b);    BEGIN;    INSERT INTO t1 VALUES(1, 2);  }} {}# Make sure we are not accidentally using the dotfile locking scheme.do_test lock5-flock.2 {  file exists test.db.lock} {0}do_test lock5-flock.3 {  sqlite3 db2 test.db -vfs unix-flock  catchsql { SELECT * FROM t1 } db2} {1 {database is locked}}do_test lock5-flock.4 {  execsql COMMIT  catchsql { SELECT * FROM t1 } db2} {0 {1 2}}do_test lock5-flock.5 {  execsql BEGIN  catchsql { SELECT * FROM t1 } db2} {0 {1 2}}do_test lock5-flock.6 {  execsql {SELECT * FROM t1}  catchsql { SELECT * FROM t1 } db2} {1 {database is locked}}do_test lock5-flock.7 {  db close  catchsql { SELECT * FROM t1 } db2} {0 {1 2}}do_test lock5-flock.8 {  db2 close} {}#####################################################################do_test lock5-none.1 {  sqlite3 db test.db -vfs unix-none  sqlite3 db2 test.db -vfs unix-none  execsql {    BEGIN;    INSERT INTO t1 VALUES(3, 4);  }} {}do_test lock5-none.2 {  execsql { SELECT * FROM t1 }} {1 2 3 4}do_test lock5-flock.3 {  execsql { SELECT * FROM t1 } db2} {1 2}do_test lock5-none.4 {  execsql {     BEGIN;    SELECT * FROM t1;  } db2} {1 2}do_test lock5-none.5 {  execsql COMMIT  execsql {SELECT * FROM t1} db2} {1 2}ifcapable memorymanage {  do_test lock5-none.6 {    sqlite3_release_memory 1000000    execsql {SELECT * FROM t1} db2  } {1 2 3 4}}do_test lock5-flock.X {  db close  db2 close} {}finish_test

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -