📄 crash7.test
字号:
# 2008 March 20## The author disclaims copyright to this source code. In place of# a legal notice, here is a blessing:## May you do good and not evil.# May you find forgiveness for yourself and forgive others.# May you share freely, never taking more than you give.##***********************************************************************## $Id: crash7.test,v 1.1 2008/04/03 14:36:26 danielk1977 Exp $set testdir [file dirname $argv0]source $testdir/tester.tclifcapable !crashtest { finish_test return}proc signature {} { return [db eval {SELECT count(*), md5sum(a), md5sum(b), md5sum(c) FROM abc}]}foreach f [list test.db test.db-journal] { for {set ii 1} {$ii < 64} {incr ii} { db close file delete test.db sqlite3 db test.db set from_size [expr 1024 << ($ii&3)] set to_size [expr 1024 << (($ii>>2)&3)] execsql " PRAGMA page_size = $from_size; BEGIN; CREATE TABLE abc(a PRIMARY KEY, b, c); INSERT INTO abc VALUES(randomblob(100), randomblob(200), randomblob(1000)); INSERT INTO abc SELECT randomblob(1000), randomblob(200), randomblob(100) FROM abc; INSERT INTO abc SELECT randomblob(100), randomblob(200), randomblob(1000) FROM abc; INSERT INTO abc SELECT randomblob(100), randomblob(200), randomblob(1000) FROM abc; INSERT INTO abc SELECT randomblob(100), randomblob(200), randomblob(1000) FROM abc; INSERT INTO abc SELECT randomblob(100), randomblob(200), randomblob(1000) FROM abc WHERE [expr $ii&16]; INSERT INTO abc SELECT randomblob(25), randomblob(45), randomblob(9456) FROM abc WHERE [expr $ii&32]; INSERT INTO abc SELECT randomblob(100), randomblob(200), randomblob(1000) FROM abc WHERE [expr $ii&8]; INSERT INTO abc SELECT randomblob(25), randomblob(45), randomblob(9456) FROM abc WHERE [expr $ii&4]; COMMIT; " set sig [signature] db close do_test crash7-1.$ii.crash { crashsql -file $f " PRAGMA page_size = $to_size; VACUUM; " } {1 {child process exited abnormally}} sqlite3 db test.db integrity_check crash7-1.$ii.integrity } }finish_test
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -