Andrew Hundt
66703ad9eb
feat(store): claim overlay compactions
...
Add cbm_store_claim_ready_overlay_generation() as the narrow store lifecycle primitive for a future background compactor. The claim runs in the existing BEGIN IMMEDIATE transaction path, selects the oldest ready overlay generation, and moves it from overlay_ready to compacting with a guarded status update so two callers cannot claim the same generation.
Cover oldest-ready ordering, non-ready filtering, invalid output handling, and claim-plus-compact composition in store_nodes. This keeps the change default-inert: no background thread, no default-on policy, and no shared store-handle concurrency are introduced.
Validation: make -f Makefile.cbm -j8 build/c/test-runner; CBM_ONLY_SUITE=store_nodes build/c/test-runner; git diff --check; bash scripts/check-source-safety.sh src/store/store.c src/store/store.h tests/test_store_nodes.c; make -f Makefile.cbm -j8 cbm.
Signed-off-by: Andrew Hundt <ATHundt@gmail.com >
2026-07-04 03:38:16 -04:00
..
2026-06-05 21:53:25 +02:00
2026-06-05 21:53:25 +02:00
2026-06-28 08:36:56 -04:00
2026-03-15 22:37:34 +01:00
2026-05-30 18:26:44 +02:00
2026-06-22 14:46:29 -07:00
2026-07-01 07:37:23 -04:00
2026-07-03 22:20:15 -04:00
2026-07-02 07:37:19 -04:00
2026-06-28 06:34:23 -04:00
2026-06-06 22:16:04 +02:00
2026-06-05 21:53:25 +02:00
2026-05-19 22:47:53 +02:00
2026-07-03 21:49:37 -04:00
2026-07-02 11:27:16 -04:00
2026-06-28 17:21:55 -04:00
2026-06-24 17:03:07 -04:00
2026-06-23 06:38:45 +09:00
2026-03-25 09:28:11 +01:00
2026-06-30 10:19:32 -04:00
2026-06-28 06:34:23 -04:00
2026-06-28 06:34:23 -04:00
2026-06-07 12:35:53 +02:00
2026-06-08 22:55:23 +02:00
2026-07-03 03:10:57 -04:00
2026-05-31 17:22:02 +02:00
2026-07-01 18:37:21 -04:00
2026-06-22 23:51:49 +02:00
2026-03-15 22:37:34 +01:00
2026-06-05 21:53:25 +02:00
2026-07-01 07:22:12 -04:00
2026-06-28 06:34:23 -04:00
2026-06-28 06:34:23 -04:00
2026-06-28 06:34:23 -04:00
2026-06-28 06:34:23 -04:00
2026-06-28 06:34:23 -04:00
2026-06-28 06:34:23 -04:00
2026-06-28 06:34:23 -04:00
2026-06-12 02:17:39 +02:00
2026-07-02 10:23:08 -04:00
2026-06-30 00:38:07 -04:00
2026-05-21 22:52:16 +02:00
2026-03-31 20:04:11 +02:00
2026-06-12 02:17:25 +02:00
2026-07-01 23:52:19 -04:00
2026-07-04 01:54:55 -04:00
2026-07-01 04:04:08 -04:00
2026-07-01 20:30:59 -04:00
2026-06-28 06:34:23 -04:00
2026-06-02 18:52:37 +02:00
2026-07-01 07:37:23 -04:00
2026-07-01 07:22:12 -04:00
2026-07-01 08:10:39 -04:00
2026-06-12 02:17:39 +02:00
2026-07-02 02:21:02 -04:00
2026-06-28 06:34:23 -04:00
2026-03-15 22:37:34 +01:00
2026-07-03 14:13:18 -04:00
2026-06-28 06:34:23 -04:00
2026-06-28 06:34:23 -04:00
2026-07-04 00:43:27 -04:00
2026-06-05 21:53:25 +02:00
2026-06-28 06:34:23 -04:00
2026-07-02 17:40:02 -04:00
2026-07-01 08:18:27 -04:00
2026-06-06 22:30:38 +02:00
2026-05-29 04:20:20 +02:00
2026-05-09 16:05:45 +02:00
2026-07-04 02:33:14 -04:00
2026-07-02 04:07:36 -04:00
2026-06-05 21:53:25 +02:00
2026-05-09 15:44:09 +02:00
2026-05-09 14:16:15 +02:00
2026-05-31 03:14:17 +02:00
2026-07-02 18:32:15 -04:00
2026-06-30 06:05:15 -04:00
2026-06-03 02:13:30 +02:00
2026-05-08 22:26:56 +02:00
2026-06-24 03:15:36 +02:00
2026-07-01 20:12:15 -04:00
2026-06-30 00:38:07 -04:00
2026-06-30 11:00:27 -04:00
2026-07-01 19:39:34 -04:00
2026-06-24 17:30:04 -04:00
2026-07-03 21:34:40 -04:00
2026-04-11 09:22:23 -04:00
2026-05-29 03:37:56 +02:00
2026-03-24 23:48:23 +01:00
2026-07-04 03:38:16 -04:00
2026-05-29 03:37:56 +02:00
2026-06-30 21:24:07 -04:00
2026-03-24 23:48:23 +01:00
2026-07-02 07:37:19 -04:00
2026-07-01 19:39:34 -04:00
2026-07-03 17:01:07 -04:00
2026-03-24 23:48:23 +01:00
2026-07-02 03:55:39 -04:00
2026-06-10 12:11:02 +02:00
2026-04-01 23:22:44 +02:00
2026-04-09 23:15:10 -04:00
2026-06-05 21:53:25 +02:00
2026-07-04 03:01:20 -04:00
2026-07-01 23:42:49 -04:00
2026-04-10 20:09:37 -04:00
2026-04-15 23:56:03 +02:00