持久化测试
默认情况下,所有测试都在内存模式运行(除非启用 --force-storage)。某些场景下我们希望强制使用持久化数据库。可通过 load 初始化持久化数据库,并通过 restart 触发数据库重载。
# load the DB from disk
load __TEST_DIR__/storage_scan.db
statement ok
CREATE TABLE test (a INTEGER);
statement ok
INSERT INTO test VALUES (11), (12), (13), (14), (15), (NULL)
# ...
restart
query I
SELECT * FROM test ORDER BY a
----
NULL
11
12
13
14
15
注意:默认测试会设置 SET wal_autocheckpoint = '0KB',即每条语句后触发一次 checkpoint。WAL 测试通常会使用以下设置禁用该行为:
statement ok
PRAGMA disable_checkpoint_on_shutdown
statement ok
PRAGMA wal_autocheckpoint = '1TB'