fiatjaf
d445ba9919
mmm: free ranges tracking improved with b.freeRangesLarge and b.freeRangesAll
...
one is unsorted and fast and we only care about it with picking a new free range.
the other is sorted and used when merging a new freed range with existing free ranges.
both are computed from the events id index at beginning, then tracked manually on each addition or deletion.
this change uncovered some errors so we fixed them and added some more fuzz test invariant checking.
code is simplified a little bit.
there was another thing I forgot.
2026-02-17 18:33:59 -03:00
fiatjaf
459a10294f
eventstore: a COUNT test and fix many bugs.
2026-01-18 21:31:12 -03:00
fiatjaf
b559828c72
mmm: read-only mode.
2026-01-18 18:02:07 -03:00
fiatjaf
8161bd9ad1
mmm: create directory before creating the lockfile.
2025-11-23 06:57:54 -03:00
fiatjaf
0aa0038c40
mmm: lockfile to prevent multiple instances.
2025-10-28 19:09:28 -03:00
fiatjaf
fc16a36481
mmm: stop truncating mmap, reorder commits and write operations such that eventual inconsistencies are minimized and less harmful.
2025-10-16 03:11:11 +00:00
fiatjaf
0dcaf0fa95
mmm: fixes to rescan logic.
2025-10-15 23:02:32 +00:00
fiatjaf
5d2675f356
mmm: freeranges tests and fixes.
2025-10-15 03:50:00 +00:00
fiatjaf
ac49036b77
mmm: small .EnsureLayer() change, fuzz tests for fixing borked databases
2025-10-15 01:31:44 +00:00
fiatjaf
53e838c61d
mmm: freeranges computed on startup and kept only in memory.
2025-10-14 00:38:51 +00:00
fiatjaf
95c70e3225
mmm: Rescan()
2025-10-14 00:19:52 +00:00
fiatjaf
96fcff7908
mmm: drop mmap on .Close() call.
2025-10-13 21:26:42 +00:00
fiatjaf
cb0dd45a32
go mod tidy works now at least.
2025-04-15 18:40:56 -03:00
fiatjaf
f493293be2
update import paths.
2025-04-15 08:51:25 -03:00
fiatjaf
76032dc089
bring in khatru and eventstore.
2025-04-15 08:49:28 -03:00