wasCSharpSQLite – Blame information for rev 1

Subversion Repositories:
Rev:
Rev Author Line No. Line
1 office 1 # 2005 july 8
2 #
3 # The author disclaims copyright to this source code. In place of
4 # a legal notice, here is a blessing:
5 #
6 # May you do good and not evil.
7 # May you find forgiveness for yourself and forgive others.
8 # May you share freely, never taking more than you give.
9 #
10 #***********************************************************************
11 # This file test the busy handler
12 #
13 # $Id: busy.test,v 1.3 2008/03/15 02:09:22 drh Exp $
14  
15  
16 set testdir [file dirname $argv0]
17 source $testdir/tester.tcl
18  
19 do_test busy-1.1 {
20 sqlite3 db2 test.db
21 execsql {
22 CREATE TABLE t1(x);
23 INSERT INTO t1 VALUES(1);
24 SELECT * FROM t1
25 }
26 } 1
27 proc busy x {
28 lappend ::busyargs $x
29 if {$x>2} {return 1}
30 return 0
31 }
32 set busyargs {}
33 do_test busy-1.2 {
34 db busy busy
35 db2 eval {BEGIN EXCLUSIVE}
36 catchsql {BEGIN IMMEDIATE}
37 } {1 {database is locked}}
38 do_test busy-1.3 {
39 set busyargs
40 } {0 1 2 3}
41 do_test busy-1.4 {
42 set busyargs {}
43 catchsql {BEGIN IMMEDIATE}
44 set busyargs
45 } {0 1 2 3}
46  
47 do_test busy-2.1 {
48 db2 eval {COMMIT}
49 db eval {BEGIN; INSERT INTO t1 VALUES(5)}
50 db2 eval {BEGIN; SELECT * FROM t1}
51 set busyargs {}
52 catchsql COMMIT
53 } {1 {database is locked}}
54 do_test busy-2.2 {
55 set busyargs
56 } {0 1 2 3}
57  
58  
59 db2 close
60  
61 finish_test