kshitijk4poor
8b038f3665
refactor(state): topic rebuild goes through _rebuild_table; heal also swallows a replaced state.db
...
The hand-rolled CREATE/INSERT/DROP/RENAME duplicated SessionSchemaMixin._rebuild_table,
which already runs inside a caller-owned transaction and has its own atomicity test.
The stranded {table}_new drop stays: older builds crashed with that scratch name.
_execute_write probes the DB generation before running the callback and raises
StateDbReplacedError (a RuntimeError, not sqlite3.Error); _read_ctx never does, so
the heal must not let it escape a read path that promises the empty value.
Atomicity probe now denies the copy into the fresh table: a non-transactional
rebuild leaves an empty v3 table the retry skips (verified red with executescript).
2026-09-19 03:14:20 +05:30
..
2026-09-11 11:14:56 +05:30
2026-09-11 11:14:56 +05:30
2026-09-13 09:18:02 -07:00
2026-09-13 09:18:02 -07:00
2026-09-15 05:41:36 -07:00
2026-09-15 04:27:32 -07:00
2026-09-19 00:59:32 +05:30
2026-09-13 09:18:02 -07:00
2026-09-18 10:39:13 -07:00
2026-09-13 09:18:02 -07:00
2026-09-13 09:18:02 -07:00
2026-09-11 06:24:54 -07:00
2026-09-15 05:02:30 -07:00
2026-09-13 09:18:02 -07:00
2026-09-13 09:18:02 -07:00
2026-09-09 13:17:19 +05:30
2026-09-15 10:48:34 +05:30
2026-09-13 09:18:02 -07:00
2026-09-13 09:18:02 -07:00
2026-09-13 09:18:02 -07:00
2026-09-13 09:18:02 -07:00
2026-09-13 09:18:02 -07:00
2026-09-13 09:18:02 -07:00
2026-09-13 09:18:02 -07:00
2026-09-18 10:38:41 -07:00
2026-09-13 09:18:02 -07:00
2026-09-18 10:38:41 -07:00
2026-09-18 10:38:41 -07:00
2026-09-13 09:18:02 -07:00
2026-09-13 09:18:02 -07:00
2026-09-13 09:18:02 -07:00
2026-09-15 12:33:45 -05:00
2026-09-13 09:18:02 -07:00
2026-09-13 09:18:02 -07:00
2026-09-13 09:18:02 -07:00
2026-09-13 09:18:02 -07:00
2026-09-13 09:18:02 -07:00
2026-09-13 09:18:02 -07:00
2026-09-16 21:15:30 +05:30
2026-09-15 04:12:13 -07:00
2026-09-18 10:39:13 -07:00
2026-09-13 09:18:02 -07:00
2026-09-13 09:18:02 -07:00
2026-09-15 04:12:13 -07:00
2026-09-13 09:18:02 -07:00
2026-09-13 09:18:02 -07:00
2026-09-13 09:18:02 -07:00
2026-09-17 21:17:15 +05:30
2026-09-18 09:53:41 -07:00
2026-09-11 06:23:23 -07:00
2026-09-13 09:18:02 -07:00
2026-09-14 09:19:20 -07:00
2026-09-13 14:45:41 -07:00
2026-09-18 09:53:41 -07:00
2026-09-11 11:14:56 +05:30
2026-09-13 05:20:26 -07:00
2026-09-13 09:18:02 -07:00
2026-09-15 04:01:17 -07:00
2026-09-13 09:18:02 -07:00
2026-09-16 16:43:32 -07:00
2026-09-13 09:18:02 -07:00
2026-09-15 03:44:50 -07:00
2026-09-13 09:18:02 -07:00
2026-09-18 10:35:03 -07:00
2026-09-13 09:18:02 -07:00
2026-09-13 09:18:02 -07:00
2026-09-15 03:51:07 -07:00
2026-09-13 09:18:02 -07:00
2026-09-13 09:18:02 -07:00
2026-09-13 09:18:02 -07:00
2026-09-13 09:18:02 -07:00
2026-09-11 06:24:11 -07:00
2026-09-19 02:53:32 +05:30
2026-09-13 09:18:02 -07:00
2026-09-13 09:18:02 -07:00
2026-09-15 04:19:19 -07:00
2026-09-11 06:37:27 -07:00
2026-09-06 22:56:51 +05:30
2026-09-13 09:18:02 -07:00
2026-09-13 09:18:02 -07:00
2026-09-13 09:18:02 -07:00
2026-09-13 21:13:23 -07:00
2026-09-14 08:50:29 -07:00
2026-09-13 09:18:02 -07:00
2026-09-13 09:18:02 -07:00
2026-09-13 09:18:02 -07:00
2026-09-13 09:18:02 -07:00
2026-09-14 08:50:29 -07:00
2026-09-14 08:50:29 -07:00
2026-09-14 10:18:17 -07:00
2026-09-13 09:18:02 -07:00
2026-09-19 02:53:32 +05:30
2026-09-13 09:18:02 -07:00
2026-09-16 21:15:30 +05:30
2026-09-18 10:30:20 -07:00
2026-09-13 09:18:02 -07:00
2026-09-19 03:14:20 +05:30
2026-09-11 06:23:23 -07:00
2026-09-13 09:18:02 -07:00
2026-09-14 06:54:07 -07:00
2026-09-14 05:28:22 -07:00
2026-09-13 09:18:02 -07:00
2026-09-13 09:18:02 -07:00
2026-09-13 09:18:02 -07:00
2026-09-13 09:18:02 -07:00