Zum Inhalt springen

Persistentes Testen

Standardmäßig werden alle Tests im In-Memory-Modus ausgeführt (sofern nicht --force-storage aktiviert ist). In bestimmten Fällen wollen wir die Verwendung einer persistenten Datenbank erzwingen. Eine persistente Datenbank können wir mit dem Befehl load anlegen und ein erneutes Laden der Datenbank mit dem Befehl restart auslösen.

# 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

Beachten Sie, dass die Tests standardmäßig mit SET wal_autocheckpoint = '0KB' laufen – das bedeutet, nach jeder Anweisung wird ein Checkpoint ausgelöst. WAL-Tests laufen typischerweise mit den folgenden Einstellungen, um dieses Verhalten zu deaktivieren:

statement ok
PRAGMA disable_checkpoint_on_shutdown
statement ok
PRAGMA wal_autocheckpoint = '1TB'