SQLite

Check-in [49d21ce50f]
Login

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

Overview
Comment:Add code for a test that was failing before the persistent-wal related changes of [09ccc4a1be].
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 49d21ce50fcf535e470d284ccbb9eb4d4bcfa3a6
User & Date: dan 2011-12-16 17:01:04.486
Original Comment: Add code for a test that was failing before the persistent-wal related changes of [9ccc4a1be].
Context
2011-12-17
01:31
Make sure the Salt-1 value in the WAL file is sequentially numbered at each checkpoint, as it says it should be in the documentation. (check-in: 7b63b11b93 user: drh tags: trunk)
2011-12-16
17:01
Add code for a test that was failing before the persistent-wal related changes of [09ccc4a1be]. (check-in: 49d21ce50f user: dan tags: trunk)
15:38
Merge the fix for [a1fa75cbdd02] from the experimental branch. Also fix the persistent-wal mode feature of truncating the WAL on close so that it always truncates the WAL to zero bytes. (check-in: 09ccc4a1be user: drh tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to test/walpersist.test.
86
87
88
89
90
91
92
































93
94
  expr {[file size test.db-wal]>100000}
} {1}
do_test walpersist-2.2 {
  file_control_persist_wal db 1
  db close
  concat [file exists test.db-wal] [file size test.db-wal]
} {1 0}

































finish_test







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


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
  expr {[file size test.db-wal]>100000}
} {1}
do_test walpersist-2.2 {
  file_control_persist_wal db 1
  db close
  concat [file exists test.db-wal] [file size test.db-wal]
} {1 0}
do_test walpersist-2.3 {
  sqlite3 db test.db
  execsql { PRAGMA integrity_check }
} {ok}

do_test 3.1 {
  catch {db close}
  forcedelete test.db test.db-shm test.db-wal
  sqlite3 db test.db
  execsql {
    PRAGMA page_size = 1024;
    PRAGMA journal_mode = WAL;
    PRAGMA wal_autocheckpoint=128;
    PRAGMA journal_size_limit=16384;
    CREATE TABLE t1(a, b, PRIMARY KEY(a, b));
  }
} {wal 128 16384}
do_test 3.2 {
  for {set i 0} {$i<200} {incr i} {
    execsql { INSERT INTO t1 VALUES(randomblob(500), randomblob(500)) }
  }
  file_control_persist_wal db 1
  db close
} {}
do_test walpersist-3.3 { 
  file size test.db-wal 
} {0}
do_test walpersist-3.4 { 
  sqlite3 db test.db
  execsql { PRAGMA integrity_check }
} {ok}
 

finish_test