xarmian
7c2c514d72
fix(store): a workspace import no longer re-inserts every item into items_fts after its commit, and migration 095 rebuilds the index (BUG-2758) ( #1507 )
...
ImportWorkspace and RemapAttachmentReferencesInWorkspace each ran a
post-commit rebuildFTSForWorkspace: one autocommit INSERT INTO items_fts per
item. items_fts is an external-content FTS5 table kept by the items_fts_*
triggers, which had already indexed those rows inside the transaction. So the
pass double-indexed every imported item (FTS5 integrity-check reports the
table malformed), and it turned an N-item import into N write transactions
after the commit, which stalled every other writer on the database. Under
e2e load that stall outlasted the 30 s busy_timeout, which is why
version-restore-collab and workspace-bundle-roundtrip failed together.
The pass and both call sites are removed; the triggers are the index.
Migration 095 (SQLite chain only) drops and recreates items_fts and its three
triggers with 005's definitions, then runs FTS5 'rebuild', so it repairs
existing databases whatever state they are in. slowSQLiteMigrations logs a
line before it starts.
Claude-Session: https://claude.ai/code/session_01Vf8uZmYdsrQqJtbAmjUFSX
2026-09-24 09:16:17 -04:00
..
2026-09-24 09:16:17 -04:00
2026-09-22 01:27:03 -04:00
2026-09-06 12:02:20 -04:00
2026-09-23 22:50:47 -04:00
2026-09-06 16:59:31 -04:00
2026-09-06 16:59:31 -04:00
2026-09-23 21:52:27 -04:00
2026-09-06 16:59:31 -04:00
2026-09-23 09:05:05 -04:00
2026-09-06 16:59:31 -04:00
2026-09-06 16:59:31 -04:00
2026-09-23 21:52:27 -04:00
2026-09-06 16:59:31 -04:00
2026-09-06 16:59:31 -04:00
2026-05-11 12:51:49 -04:00
2026-09-06 16:59:31 -04:00
2026-09-16 17:02:37 -04:00
2026-09-23 04:35:58 -04:00
2026-09-24 02:37:59 -04:00
2026-09-06 16:59:31 -04:00
2026-08-17 08:16:02 -04:00
2026-09-06 16:59:31 -04:00
2026-09-06 16:59:31 -04:00
2026-09-06 16:59:31 -04:00
2026-09-16 15:36:49 -04:00
2026-09-22 21:47:27 -04:00
2026-09-06 16:59:31 -04:00
2026-09-06 16:59:31 -04:00
2026-09-24 09:16:17 -04:00
2026-09-13 18:34:16 -04:00
2026-09-13 18:34:16 -04:00
2026-08-17 08:16:02 -04:00
2026-04-28 12:26:39 -04:00
2026-05-18 00:03:20 -04:00
2026-09-06 16:59:31 -04:00
2026-09-22 08:08:15 -04:00
2026-09-21 22:02:48 -04:00
2026-09-21 22:50:56 -04:00
2026-09-22 00:42:02 -04:00
2026-09-22 04:15:14 -04:00
2026-09-22 01:27:03 -04:00
2026-09-23 20:24:40 -04:00
2026-09-06 16:59:31 -04:00
2026-06-20 23:51:43 -04:00
2026-09-06 23:36:58 -04:00
2026-09-06 16:59:31 -04:00
2026-09-13 16:01:12 -04:00
2026-09-06 16:59:31 -04:00
2026-09-06 16:59:31 -04:00
2026-09-06 23:36:58 -04:00
2026-09-21 20:46:41 -04:00
2026-09-06 16:59:31 -04:00
2026-09-21 20:46:41 -04:00
2026-09-06 16:59:31 -04:00
2026-05-18 08:33:39 -04:00
2026-09-22 00:42:02 -04:00
2026-09-21 22:50:56 -04:00
2026-09-06 16:59:31 -04:00
2026-09-21 20:46:41 -04:00
2026-09-21 23:55:54 -04:00
2026-09-06 16:59:31 -04:00
2026-09-01 23:14:40 +00:00
2026-09-06 16:59:31 -04:00
2026-08-27 22:45:27 -04:00
2026-09-06 16:59:31 -04:00
2026-08-27 22:45:27 -04:00
2026-09-06 16:59:31 -04:00
2026-04-13 09:14:04 -04:00
2026-09-06 16:59:31 -04:00
2026-07-04 03:32:48 -04:00
2026-09-06 16:59:31 -04:00
2026-07-11 00:10:27 -04:00
2026-09-06 16:59:31 -04:00
2026-09-06 16:59:31 -04:00
2026-09-06 16:59:31 -04:00
2026-09-17 11:02:02 -04:00
2026-09-14 01:45:30 -04:00
2026-09-07 08:27:58 -04:00
2026-09-24 01:39:03 -04:00
2026-09-24 09:16:17 -04:00
2026-09-06 16:59:31 -04:00
2026-08-17 08:16:02 -04:00
2026-06-05 18:12:56 -04:00
2026-09-24 09:16:17 -04:00
2026-09-17 23:54:41 -04:00
2026-09-06 23:36:58 -04:00
2026-09-21 17:58:27 -04:00
2026-09-06 16:59:31 -04:00
2026-09-13 10:51:03 -04:00
2026-09-18 12:25:38 -04:00
2026-09-18 12:25:38 -04:00
2026-09-06 16:59:31 -04:00
2026-08-12 15:50:41 -04:00
2026-09-06 16:59:31 -04:00
2026-09-15 00:50:12 -04:00
2026-09-06 16:59:31 -04:00
2026-07-31 17:28:05 +00:00
2026-08-13 12:18:26 -04:00
2026-09-06 16:59:31 -04:00
2026-09-06 16:59:31 -04:00
2026-09-06 16:59:31 -04:00
2026-09-06 16:59:31 -04:00
2026-09-22 08:08:15 -04:00
2026-08-14 22:39:39 -04:00
2026-09-23 07:46:45 -04:00
2026-09-06 16:59:31 -04:00
2026-09-06 16:59:31 -04:00
2026-09-06 16:59:31 -04:00
2026-08-31 12:59:14 -04:00
2026-09-06 16:59:31 -04:00
2026-09-24 08:13:59 -04:00
2026-09-06 23:36:58 -04:00
2026-09-06 16:59:31 -04:00
2026-09-06 16:59:31 -04:00
2026-09-06 23:36:58 -04:00
2026-09-23 20:24:40 -04:00
2026-09-16 17:02:37 -04:00
2026-09-06 16:59:31 -04:00
2026-09-17 09:46:27 -04:00
2026-09-17 23:54:41 -04:00
2026-07-30 20:15:00 +00:00
2026-09-06 12:02:20 -04:00
2026-09-06 16:59:31 -04:00
2026-09-23 09:05:05 -04:00
2026-09-14 08:51:45 -04:00
2026-09-24 08:13:59 -04:00
2026-09-24 09:16:17 -04:00
2026-09-06 16:59:31 -04:00
2026-09-06 16:59:31 -04:00
2026-07-07 16:32:20 -04:00
2026-09-06 16:59:31 -04:00
2026-09-06 16:59:31 -04:00
2026-09-06 16:59:31 -04:00
2026-09-06 16:59:31 -04:00
2026-09-24 08:13:59 -04:00
2026-09-24 08:13:59 -04:00
2026-09-06 16:59:31 -04:00
2026-09-24 08:13:59 -04:00
2026-09-01 14:29:07 +00:00
2026-09-06 16:59:31 -04:00
2026-09-01 21:16:17 +00:00
2026-09-02 16:45:38 +00:00
2026-09-24 08:13:59 -04:00
2026-09-24 08:13:59 -04:00
2026-09-06 16:59:31 -04:00
2026-09-04 11:36:11 -04:00
2026-09-24 08:13:59 -04:00
2026-09-24 08:13:59 -04:00
2026-09-24 08:13:59 -04:00
2026-09-16 15:36:49 -04:00
2026-09-06 16:59:31 -04:00
2026-08-25 22:40:58 -04:00
2026-09-06 16:59:31 -04:00
2026-09-16 15:36:49 -04:00
2026-09-06 16:59:31 -04:00
2026-05-03 16:37:49 -04:00
2026-09-06 16:59:31 -04:00
2026-04-28 12:26:39 -04:00
2026-09-06 16:59:31 -04:00
2026-09-06 12:02:20 -04:00
2026-09-22 07:34:33 -04:00
2026-08-25 22:40:58 -04:00
2026-09-07 17:32:36 -04:00
2026-09-07 17:32:36 -04:00
2026-04-28 12:26:39 -04:00
2026-09-11 00:57:47 -04:00
2026-09-11 00:57:47 -04:00
2026-09-13 16:01:12 -04:00
2026-09-11 00:57:47 -04:00
2026-09-15 00:50:12 -04:00
2026-09-13 16:01:12 -04:00
2026-09-13 16:01:12 -04:00
2026-09-14 11:49:35 -04:00
2026-09-24 01:01:52 -04:00
2026-09-23 22:50:47 -04:00
2026-09-13 16:01:12 -04:00
2026-09-13 16:01:12 -04:00
2026-09-06 16:59:31 -04:00
2026-09-06 16:59:31 -04:00
2026-09-06 23:36:58 -04:00
2026-09-05 00:47:16 -04:00
2026-09-06 16:59:31 -04:00
2026-05-29 15:00:34 -04:00
2026-09-23 18:21:38 -04:00
2026-09-23 18:21:38 -04:00
2026-09-17 11:02:02 -04:00
2026-09-06 16:59:31 -04:00
2026-09-13 18:34:16 -04:00
2026-09-06 16:59:31 -04:00
2026-06-14 21:15:35 -04:00
2026-04-28 12:26:39 -04:00
2026-09-24 01:39:03 -04:00
2026-04-28 12:26:39 -04:00
2026-09-15 00:50:12 -04:00
2026-09-06 16:59:31 -04:00
2026-09-06 16:59:31 -04:00
2026-09-24 09:16:17 -04:00
2026-09-06 16:59:31 -04:00
2026-04-23 20:26:02 -04:00
2026-09-06 16:59:31 -04:00
2026-04-28 12:26:39 -04:00
2026-09-23 16:23:06 -04:00
2026-09-06 16:59:31 -04:00
2026-09-06 16:59:31 -04:00
2026-09-24 01:39:03 -04:00
2026-09-05 20:43:43 -04:00
2026-09-06 16:59:31 -04:00
2026-09-06 16:59:31 -04:00
2026-09-06 16:59:31 -04:00
2026-09-06 16:59:31 -04:00
2026-08-24 00:22:17 -04:00
2026-09-08 14:51:21 -04:00
2026-08-25 22:40:58 -04:00
2026-05-16 10:15:59 -04:00
2026-08-12 15:50:41 -04:00
2026-08-12 15:50:41 -04:00
2026-09-06 16:59:31 -04:00
2026-09-17 09:46:27 -04:00
2026-05-23 23:09:44 -04:00
2026-09-06 16:59:31 -04:00
2026-09-06 16:59:31 -04:00
2026-09-23 21:08:36 -04:00
2026-09-06 16:59:31 -04:00
2026-09-21 17:58:27 -04:00
2026-09-06 16:59:31 -04:00
2026-08-20 19:07:59 -04:00
2026-09-06 16:59:31 -04:00
2026-09-06 16:59:31 -04:00
2026-09-16 17:02:37 -04:00
2026-09-21 22:02:48 -04:00
2026-09-22 01:27:03 -04:00
2026-09-06 16:59:31 -04:00
2026-09-22 04:15:14 -04:00