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 diskload __TEST_DIR__/storage_scan.db
statement okCREATE TABLE test (a INTEGER);
statement okINSERT INTO test VALUES (11), (12), (13), (14), (15), (NULL)
# ...
restart
query ISELECT * FROM test ORDER BY a----NULL1112131415Beachten 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 okPRAGMA disable_checkpoint_on_shutdown
statement okPRAGMA wal_autocheckpoint = '1TB'