1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-07-29 08:01:23 +03:00

In persistent WAL mode, truncate the WAL file to the size specified by the

journal_size_limit pragma when disconnecting from the WAL.

FossilOrigin-Name: 9687b305c2320109a8649612181eecd2e0da7c7b
This commit is contained in:
drh
2011-12-08 19:50:32 +00:00
parent c4eef45c14
commit 8dd4afadd8
4 changed files with 53 additions and 28 deletions

View File

@ -67,7 +67,25 @@ do_test walpersist-1.11 {
list [file exists test.db] [file exists test.db-wal] [file exists test.db-shm]
} {1 1 1}
# Make sure the journal_size_limit works to limit the size of the
# persisted wal file.
forcedelete test.db test.db-shm test.db-wal
do_test walpersist-2.1 {
sqlite3 db test.db
db eval {
PRAGMA journal_mode=WAL;
PRAGMA wal_autocheckpoint=OFF;
PRAGMA journal_size_limit=12000;
CREATE TABLE t1(x);
INSERT INTO t1 VALUES(randomblob(50000));
UPDATE t1 SET x=randomblob(50000);
}
expr {[file size test.db-wal]>100000}
} {1}
do_test walpersist-2.2 {
file_control_persist_wal db 1
db close
file size test.db-wal
} {12000}
finish_test