📄 lock3.test
字号:
# 2001 September 15## 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 and the operation of the# DEFERRED, IMMEDIATE, and EXCLUSIVE keywords as modifiers to the# BEGIN command.## $Id: lock3.test,v 1.1 2004/10/05 02:41:43 drh Exp $set testdir [file dirname $argv0]source $testdir/tester.tcl# Establish two connections to the same database. Put some# sample data into the database.#do_test lock3-1.1 { sqlite3 db2 test.db execsql { CREATE TABLE t1(a); INSERT INTO t1 VALUES(1); } execsql { SELECT * FROM t1 } db2} 1# Get a deferred lock on the database using one connection. The# other connection should still be able to write.#do_test lock3-2.1 { execsql {BEGIN DEFERRED TRANSACTION} execsql {INSERT INTO t1 VALUES(2)} db2 execsql {END TRANSACTION} execsql {SELECT * FROM t1}} {1 2}# Get an immediate lock on the database using one connection. The# other connection should be able to read the database but not write# it.#do_test lock3-3.1 { execsql {BEGIN IMMEDIATE TRANSACTION} catchsql {SELECT * FROM t1} db2} {0 {1 2}}do_test lock3-3.2 { catchsql {INSERT INTO t1 VALUES(3)} db2} {1 {database is locked}}do_test lock3-3.3 { execsql {END TRANSACTION}} {}# Get an exclusive lock on the database using one connection. The# other connection should be unable to read or write the database.#do_test lock3-4.1 { execsql {BEGIN EXCLUSIVE TRANSACTION} catchsql {SELECT * FROM t1} db2} {1 {database is locked}}do_test lock3-4.2 { catchsql {INSERT INTO t1 VALUES(3)} db2} {1 {database is locked}}do_test lock3-4.3 { execsql {END TRANSACTION}} {}catch {db2 close}finish_test
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -