/
niceSOFT
/
sqlite
Обзор
Документация
Войти
/
niceSOFT
/
sqlite
Код
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
test/cksumvfs.test
100 строк
2 KB
drh
Turn redundant registrations of the cksumvfs extension from a stack
29 июл 2026, 20:08
29 июл 2026, 20:08
d14c3f1
Код
Авторство
О чём код?
# 2024 March 19 # # 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. # #*********************************************************************** # set testdir [file dirname $argv0] source $testdir/tester.tcl set testprefix cksumvfs db close sqlite3_shutdown #test_sqlite3_log logfunc sqlite3_initialize proc logfunc {args} { puts "LOG: $args" } do_test 0.1 { sqlite3_register_cksumvfs } {SQLITE_OK} do_test 0.2 { # Multiple registrations of cksumvfs are harmless. Bug 2026-07-29T06:28:31Z sqlite3_register_cksumvfs } {SQLITE_OK} sqlite3 db test.db file_control_reservebytes db 8 execsql { PRAGMA page_size = 4096; } set text [db one "SELECT hex(randomblob(5000))"] do_execsql_test 1.0 { CREATE TABLE t1(a INTEGER PRIMARY KEY, b, c); INSERT INTO t1 VALUES(1, $text, NULL); } do_execsql_test 1.1 { SELECT * FROM t1; } [list 1 $text {}] do_execsql_test 1.2 { DELETE FROM t1; } do_test 1.3 { execsql BEGIN for {set ii 1500} {$ii < 10000} {incr ii} { execsql { INSERT INTO t1 VALUES(NULL, randomblob(5000), randomblob($ii)) } } execsql COMMIT } {} do_execsql_test 1.4 { SELECT count(b) FROM t1 } {8500} do_execsql_test 1.5 { PRAGMA journal_mode = wal; DELETE FROM t1; } {wal} do_execsql_test 1.6 { PRAGMA wal_checkpoint; } {/0 # #/} do_execsql_test 1.7 { WITH s(i) AS ( VALUES(1) UNION ALL SELECT i+1 FROM s WHERE i<100 ) INSERT INTO t1 SELECT NULL, randomblob(5000), randomblob(i) FROM s; SELECT count(*) FROM t1; } {100} db_save_and_close db_restore_and_reopen do_execsql_test 1.8 { SELECT count(*) FROM t1; } {100} db close sqlite3 db test.db do_execsql_test 1.9 { SELECT count(*) FROM t1; } {100} finish_test