SQLite

Check-in [4d518bd480]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Add test for WAL mode to unixexcl.test.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 4d518bd4801c31bb1e4fb0329ad057e549035237
User & Date: dan 2011-12-19 15:46:51.583
Context
2011-12-20
13:13
Assert that the isCommit parameter to sqlite3WalFrames() is zero if and only if the nTruncate parameter is zero. (check-in: 979daf92e0 user: drh tags: trunk)
2011-12-19
15:46
Add test for WAL mode to unixexcl.test. (check-in: 4d518bd480 user: dan tags: trunk)
11:16
Fix a couple of test cases to account for the master-journal name related change in [cf3bccc2]. (check-in: 21b76af6ed user: dan tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to test/unixexcl.test.
75
76
77
78
79
80
81












































82
83
      db eval { SELECT * FROM t1 }
    }
  } {hello world}
  do_test unixexcl-2.$tn.4 { 
    csql2 { SELECT * FROM t1 } 
  } {0 {hello world}}
}













































finish_test







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>


75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
      db eval { SELECT * FROM t1 }
    }
  } {hello world}
  do_test unixexcl-2.$tn.4 { 
    csql2 { SELECT * FROM t1 } 
  } {0 {hello world}}
}

do_multiclient_test tn {
  do_test unixexcl-3.$tn.1 {
    code1 { db close; sqlite3 db test.db -vfs unix-excl }
    code2 { db2 close; sqlite3 db2 test.db -vfs unix-excl }
    sql1 {
      PRAGMA journal_mode = WAL;
      CREATE TABLE t1(a, b);
      INSERT INTO t1 VALUES(1, 2);
    }
  } {wal}

  if {$tn==1} {
    do_test unixexcl-3.$tn.1.multiproc {
      csql2 { SELECT * FROM t1; }
    } {1 {database is locked}}
  } else {
    do_test unixexcl-3.$tn.1.singleproc {
      sql2 { SELECT * FROM t1; }
    } {1 2}

    do_test unixexcl-3.$tn.2 {
      sql2 { 
        BEGIN;
          SELECT * FROM t1;
      }
    } {1 2}
    do_test unixexcl-3.$tn.3 {
      sql1 { PRAGMA wal_checkpoint; INSERT INTO t1 VALUES(3, 4); }
    } {0 5 5}
    do_test unixexcl-3.$tn.4 {
      sql2 { SELECT * FROM t1; }
    } {1 2}
    do_test unixexcl-3.$tn.5 {
      sql1 { SELECT * FROM t1; }
    } {1 2 3 4}
    do_test unixexcl-3.$tn.6 {
      sql2 { COMMIT; SELECT * FROM t1; }
    } {1 2 3 4}
    do_test unixexcl-3.$tn.7 {
      sql1 { PRAGMA wal_checkpoint; }
    } {0 7 7}
  }
}

finish_test