crash02.subtest 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. /*
  2. ** This script is called from crash01.test and config02.test and perhaps other
  3. ** script. After the database file has been set up, make a big rollback
  4. ** journal in client 1, then crash client 1.
  5. ** Then in the other clients, do an integrity check.
  6. */
  7. --task 1 leave-hot-journal
  8. --sleep 5
  9. --finish
  10. PRAGMA cache_size=10;
  11. BEGIN;
  12. UPDATE t1 SET b=randomblob(20000);
  13. UPDATE t2 SET b=randomblob(20000);
  14. UPDATE t3 SET b=randomblob(20000);
  15. UPDATE t4 SET b=randomblob(20000);
  16. UPDATE t5 SET b=randomblob(20000);
  17. UPDATE t1 SET b=NULL;
  18. UPDATE t2 SET b=NULL;
  19. UPDATE t3 SET b=NULL;
  20. UPDATE t4 SET b=NULL;
  21. UPDATE t5 SET b=NULL;
  22. --print Task one crashing an incomplete transaction
  23. --exit 1
  24. --end
  25. --task 2 integrity_check-2
  26. SELECT count(*) FROM t1;
  27. --match 64
  28. --sleep 100
  29. PRAGMA integrity_check(10);
  30. --match ok
  31. --end
  32. --task 3 integrity_check-3
  33. SELECT count(*) FROM t1;
  34. --match 64
  35. --sleep 100
  36. PRAGMA integrity_check(10);
  37. --match ok
  38. --end
  39. --task 4 integrity_check-4
  40. SELECT count(*) FROM t1;
  41. --match 64
  42. --sleep 100
  43. PRAGMA integrity_check(10);
  44. --match ok
  45. --end
  46. --task 5 integrity_check-5
  47. SELECT count(*) FROM t1;
  48. --match 64
  49. --sleep 100
  50. PRAGMA integrity_check(10);
  51. --match ok
  52. --end
  53. --wait all