/ Artifact Content
Login
SQLite training in Houston TX on 2019-11-05 (details)
Part of the 2019 Tcl Conference

Artifact c4647feafa04109e1dc60121a895b6cba8d63ceb:


/*
** This script is called from crash01.test and config02.test and perhaps other
** script.  After the database file has been set up, make a big rollback 
** journal in client 1, then crash client 1.
** Then in the other clients, do an integrity check.
*/
--task 1
  --sleep 5
  --finish
  PRAGMA cache_size=10;
  BEGIN;
  UPDATE t1 SET b=randomblob(20000);
  UPDATE t2 SET b=randomblob(20000);
  UPDATE t3 SET b=randomblob(20000);
  UPDATE t4 SET b=randomblob(20000);
  UPDATE t5 SET b=randomblob(20000);
  UPDATE t1 SET b=NULL;
  UPDATE t2 SET b=NULL;
  UPDATE t3 SET b=NULL;
  UPDATE t4 SET b=NULL;
  UPDATE t5 SET b=NULL;
  --print Task one crashing an incomplete transaction
  --exit 1
--end
--task 2
  SELECT count(*) FROM t1;
  --match 64
  --sleep 100
  PRAGMA integrity_check;
  --output
  --match ok
--end
--task 3
  SELECT count(*) FROM t1;
  --match 64
  --sleep 100
  PRAGMA integrity_check;
  --output
  --match ok
--end
--task 4
  SELECT count(*) FROM t1;
  --match 64
  --sleep 100
  PRAGMA integrity_check;
  --output
  --match ok
--end
--task 5
  SELECT count(*) FROM t1;
  --match 64
  --sleep 100
  PRAGMA integrity_check;
  --output
  --match ok
--end
--wait all