Vito Sansevero
96cd973ebd
feat(database): keep the migration safe row by row and beside other writers
...
Final review fixes M1, M2, M3 and M5 for the workflow storage dedupe:
- M1: a batch also ends after 0.5 s, and the loop leaves the write lock
free for 0.15 s after each committed batch (longer than SQLite's longest
busy poll), so the image monitor and run counting on another connection
get in between. RED: a threaded writer with a 2 s busy timeout hit
"database is locked" (4 of 5 links landed).
- M2: each row runs in its own savepoint. A row that cannot be rewritten
(undecodable text, a text that would not come back) is rolled back alone,
stays inline and is listed in errors; the rest of the batch goes on.
- M3: a reused document is decompressed and checked before its id is handed
out, and repaired from the text (whose hash is its key) when damaged;
verify_database_file reads every document and refuses a damaged one.
- M5: the two legacy generated_images rebuilds refuse a file that already
has the document id columns instead of dropping them.
- The preview names the pre-migration backup and says it is always taken.
2026-10-24 05:30:24 -07:00
..
2026-10-23 18:07:14 -07:00
2026-10-23 09:25:32 -07:00
2026-10-17 13:14:02 -07:00
2026-10-23 11:09:12 -07:00
2026-10-23 16:58:06 -07:00
2026-10-23 09:25:32 -07:00
2026-02-07 08:30:09 -08:00
2026-10-19 22:04:32 -07:00
2026-10-17 23:26:37 -07:00
2026-10-22 10:36:58 -07:00
2026-10-19 17:26:37 -07:00
2026-10-23 11:09:12 -07:00
2026-10-23 11:09:12 -07:00
2026-10-22 21:39:01 -07:00
2026-10-08 18:53:11 -07:00
2026-10-23 11:09:12 -07:00
2026-10-23 14:19:11 -07:00
2026-10-22 07:19:53 -07:00
2026-10-23 18:07:14 -07:00
2026-10-22 10:36:58 -07:00
2026-10-23 14:19:11 -07:00
2026-10-22 10:36:58 -07:00
2026-10-22 21:39:01 -07:00
2026-10-23 14:19:11 -07:00
2026-10-17 08:00:42 -07:00
2026-10-24 04:27:43 -07:00
2026-10-23 21:17:17 -07:00
2026-10-18 17:17:05 -07:00
2026-10-21 02:25:25 -07:00
2026-10-23 16:58:06 -07:00
2026-10-21 04:18:28 -07:00
2026-10-17 08:00:42 -07:00
2026-10-22 21:39:01 -07:00
2026-10-23 19:11:01 -07:00
2026-10-17 08:00:42 -07:00
2026-10-23 01:38:36 -07:00
2026-10-22 10:36:58 -07:00
2026-10-23 18:07:14 -07:00
2026-10-23 15:02:18 -07:00
2026-10-22 07:19:53 -07:00
2026-10-24 04:40:23 -07:00
2026-10-22 10:36:58 -07:00
2026-10-17 08:00:42 -07:00
2026-10-22 10:36:58 -07:00
2026-10-17 23:26:37 -07:00
2026-10-21 23:10:57 -07:00
2026-10-23 03:24:20 -07:00
2026-10-23 11:09:12 -07:00
2026-10-08 18:53:11 -07:00
2026-10-22 21:39:01 -07:00
2026-10-22 10:36:58 -07:00
2026-10-23 14:19:11 -07:00
2026-10-19 11:10:47 -07:00
2026-10-23 04:59:18 -07:00
2026-10-22 07:19:53 -07:00
2026-10-23 17:16:00 -07:00
2026-10-17 16:42:07 -07:00
2026-10-08 18:53:11 -07:00
2026-10-08 18:53:11 -07:00
2026-10-17 23:26:37 -07:00
2026-10-17 23:26:37 -07:00
2026-10-19 11:10:47 -07:00
2026-10-17 19:51:22 -07:00
2026-10-17 19:51:22 -07:00
2026-10-17 23:26:37 -07:00
2026-10-17 19:51:22 -07:00
2026-10-19 11:10:47 -07:00
2026-10-17 16:42:07 -07:00
2026-10-17 23:26:37 -07:00
2026-10-18 20:03:15 -07:00
2026-10-17 23:26:37 -07:00
2026-10-17 23:26:37 -07:00
2026-10-19 11:10:47 -07:00
2026-10-17 23:26:37 -07:00
2026-10-17 23:26:37 -07:00
2026-10-17 23:26:37 -07:00
2026-10-23 02:36:07 -07:00
2026-10-17 23:26:37 -07:00
2026-10-17 16:42:07 -07:00
2026-10-17 05:31:24 -07:00
2026-10-23 13:15:06 -07:00
2026-10-19 20:56:51 -07:00
2026-10-19 20:56:51 -07:00
2026-10-23 05:17:10 -07:00
2026-10-08 18:53:11 -07:00
2026-10-21 04:18:28 -07:00
2026-10-18 17:17:05 -07:00
2026-10-21 02:25:25 -07:00
2026-10-17 23:26:37 -07:00
2026-10-21 10:55:35 -07:00
2026-10-21 09:10:18 -07:00
2026-10-08 18:53:11 -07:00
2026-10-08 18:53:11 -07:00
2026-10-21 00:53:04 -07:00
2026-10-22 21:39:01 -07:00
2026-10-19 20:56:51 -07:00
2026-10-23 00:52:00 -07:00
2026-10-19 09:54:29 -07:00
2026-10-23 11:09:12 -07:00
2026-10-21 10:55:35 -07:00
2026-10-21 04:18:28 -07:00
2026-10-19 09:54:29 -07:00
2026-10-22 10:36:58 -07:00
2026-10-23 11:09:12 -07:00
2026-10-23 19:11:01 -07:00
2026-10-23 16:58:06 -07:00
2026-10-18 20:03:15 -07:00
2026-10-23 14:19:11 -07:00
2026-10-23 11:09:12 -07:00
2026-10-08 18:53:11 -07:00
2026-10-08 18:53:11 -07:00
2026-10-23 19:11:01 -07:00
2026-10-23 14:19:11 -07:00
2026-02-07 12:36:11 -08:00
2026-10-22 10:36:58 -07:00
2026-10-08 18:53:11 -07:00
2026-10-07 13:52:09 -07:00
2026-10-24 04:27:43 -07:00
2026-10-17 08:00:42 -07:00
2026-10-08 18:53:11 -07:00
2026-10-17 08:00:42 -07:00
2026-10-17 19:51:22 -07:00
2026-10-21 10:55:35 -07:00
2026-10-23 14:19:11 -07:00
2026-10-17 08:00:42 -07:00
2026-10-17 08:00:42 -07:00
2026-10-23 14:19:11 -07:00
2026-10-23 14:19:11 -07:00
2026-10-22 07:19:53 -07:00
2026-10-17 08:00:42 -07:00
2026-10-17 08:00:42 -07:00
2026-10-08 18:53:11 -07:00
2026-10-17 06:47:46 -07:00
2026-10-17 19:51:22 -07:00
2026-10-23 11:09:12 -07:00
2026-10-18 20:03:15 -07:00
2026-04-10 12:49:59 -07:00
2026-10-08 18:53:11 -07:00
2026-10-17 16:42:07 -07:00
2026-10-23 11:09:12 -07:00
2026-10-23 18:07:14 -07:00
2026-10-23 18:07:14 -07:00
2026-10-23 18:07:14 -07:00
2026-10-23 14:19:11 -07:00
2026-10-23 18:07:14 -07:00
2026-10-21 09:10:18 -07:00
2026-10-23 14:19:11 -07:00
2026-10-08 18:53:11 -07:00
2026-10-23 13:15:06 -07:00
2026-10-08 18:53:11 -07:00
2026-10-17 06:47:46 -07:00
2026-10-23 14:19:11 -07:00
2026-10-23 16:58:06 -07:00
2026-10-17 16:42:07 -07:00
2026-10-08 18:53:11 -07:00
2026-10-18 10:01:19 -07:00
2026-10-08 18:53:11 -07:00
2026-10-22 10:21:02 -07:00
2026-10-08 18:53:11 -07:00
2026-10-22 07:19:53 -07:00
2026-10-24 05:30:24 -07:00
2026-10-24 05:30:24 -07:00
2026-10-23 01:58:02 -07:00
2026-10-23 07:49:39 -07:00