~ubuntu-branches/ubuntu/precise/sqlite3/precise-updates

« back to all changes in this revision

Viewing changes to test/lock7.test

  • Committer: Bazaar Package Importer
  • Author(s): Laszlo Boszormenyi (GCS)
  • Date: 2009-12-11 14:34:09 UTC
  • mfrom: (9.1.7 squeeze)
  • Revision ID: james.westby@ubuntu.com-20091211143409-o29fahwmcmyd0vq1
Tags: 3.6.21-2
Run autoreconf to prevent FTBFS with new libtool (closes: #560660).

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# 2009 August 17
 
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
#
 
12
# Check that reading the database schema from within an active transaction
 
13
# does not establish a SHARED lock on the database file if one is not
 
14
# already held (or, more accurately, that the SHARED lock is released after
 
15
# reading the database schema).
 
16
#
 
17
 
 
18
set testdir [file dirname $argv0]
 
19
source $testdir/tester.tcl
 
20
 
 
21
do_test lock7-1.1 {
 
22
  execsql { CREATE TABLE t1(a, b) }
 
23
  db close
 
24
 
 
25
  sqlite3 db1 test.db
 
26
  sqlite3 db2 test.db
 
27
 
 
28
  db1 eval {BEGIN}
 
29
  db2 eval {BEGIN}
 
30
} {}
 
31
 
 
32
do_test lock7-1.2 {
 
33
  execsql { PRAGMA lock_status } db1
 
34
} {main unlocked temp closed}
 
35
do_test lock7-1.3 {
 
36
  execsql { PRAGMA lock_status } db2
 
37
} {main unlocked temp closed}
 
38
 
 
39
do_test lock7-1.4 {
 
40
  catchsql { INSERT INTO t1 VALUES(1, 1) } db1
 
41
} {0 {}}
 
42
do_test lock7-1.5 {
 
43
  catchsql { INSERT INTO t1 VALUES(2, 2) } db2
 
44
} {1 {database is locked}}
 
45
 
 
46
do_test lock7-1.6 {
 
47
  execsql { PRAGMA lock_status } db1
 
48
} {main reserved temp closed}
 
49
do_test lock7-1.7 {
 
50
  execsql { PRAGMA lock_status } db2
 
51
} {main unlocked temp closed}
 
52
 
 
53
do_test lock7-1.8 {
 
54
  execsql { COMMIT } db1
 
55
} {}
 
56
 
 
57
db1 close
 
58
db2 close
 
59
 
 
60
finish_test
 
61