Commit Graph

55 Commits

Author SHA1 Message Date
fiatjaf
96fcff7908 mmm: drop mmap on .Close() call. 2025-10-13 21:26:42 +00:00
fiatjaf
4d1774264a mmm: add debug helpers for fixing an inconsistent db. 2025-10-12 13:55:44 +00:00
Jon Staab
113657314e Use ID in nip86.IDReason 2025-09-26 09:41:25 -03:00
fiatjaf
3c540e726e boltdb: fix reusing index key that has less capacity than necessary. 2025-09-23 19:34:59 -03:00
fiatjaf
79f1a9c636 fix sqlite mention. 2025-09-23 19:02:09 -03:00
fiatjaf
fd9f956a3d update readmes so they're less outdated. 2025-09-22 17:05:17 -03:00
fiatjaf
9480fc1de6 eventstore: deletion safety tests. 2025-09-10 09:58:13 -03:00
fiatjaf
4754518278 mmm: querying by ids is restricted to the layer it was initiated. 2025-09-06 21:28:22 -03:00
fiatjaf
cd398b94b5 get rid of badger everywhere, including as an sdk/hints backend. 2025-09-04 00:35:17 -03:00
fiatjaf
43d6814daf betterbinary: finally fix (well, a very hackish fix but should be ok) decoding events with way too many tags. 2025-08-27 01:19:08 -03:00
fiatjaf
72b5aa5051 lmdb: fix id logging when decoding fails. 2025-08-25 18:47:38 -03:00
fiatjaf
d345bb3529 betterbinary: prevent binary index overflow by casting the numbers to int (from uint16). 2025-08-25 18:01:34 -03:00
fiatjaf
b88edca786 eventstore: fix lmdb storing the same event a million times. 2025-08-22 18:02:19 -03:00
fiatjaf
6737398375 eventstore: cli "count" command. 2025-08-22 14:08:24 -03:00
fiatjaf
0f8a586593 lmdb: do the initial pull immediately, no need for a secondary loop. 2025-08-12 14:42:24 -03:00
fiatjaf
24b10ba2a5 eventstore: up limit to 10 on ReplaceEvent() 2025-08-06 00:28:21 -03:00
fiatjaf
92f6f75388 eventstore: fix yield() usage on ReplaceEvent() 2025-08-05 23:58:13 -03:00
fiatjaf
4c459d70ba eventstore: add basic ReplaceEvent() test. 2025-08-05 23:57:38 -03:00
fiatjaf
4a7e893b80 eventstore: add boltdb support to cli. 2025-08-05 23:40:23 -03:00
fiatjaf
414e836eaa eventstore: more fuzz test false alarms. 2025-08-05 23:02:04 -03:00
fiatjaf
030cad168d eventstore: fuzz testing found us a bug! 2025-08-05 22:56:55 -03:00
fiatjaf
47ca205e9e boltdb: it works! 2025-08-05 16:25:55 -03:00
fiatjaf
144f4a4740 eventstore: fix migrations annoyingly rerunning. 2025-08-05 13:09:50 -03:00
fiatjaf
d79793c0f4 eventstore: boltdb (copied from lmdb) 2025-08-05 13:02:07 -03:00
fiatjaf
34225e5dfe mmm: run it on the eventstore/test suite and fix id query logic. 2025-08-05 07:36:20 -03:00
fiatjaf
17c3d19a98 eventstore: remove useless sanity checking since event fields are already typed. 2025-08-05 00:04:27 -03:00
fiatjaf
7e6a0eb614 mmm: copy new lmdb querying mechanism because it's so much more elegant. 2025-08-05 00:03:57 -03:00
fiatjaf
e87e5a3fb8 lmdb: some random fuzz test samples. 2025-08-04 23:21:16 -03:00
fiatjaf
0291836eb7 lmdb: various fixes so query works. 2025-08-04 23:13:25 -03:00
fiatjaf
a4ebd32477 lmdb: implement simple query by id part. 2025-08-04 17:39:59 -03:00
fiatjaf
1cd48343d6 fix quickselect. 2025-08-04 17:29:12 -03:00
fiatjaf
2750ae3751 lmdb: new querying mechanism. 2025-08-04 15:20:10 -03:00
fiatjaf
6bda63de17 eventstore: delete badger, it's too buggy. 2025-08-04 15:16:25 -03:00
fiatjaf
7289da9c72 improve/refactor websocket connections hoping this will fix the undetected disconnections we're seeing.
this commit also remove all the sonic envelope parsing and reintroduces filters in REQ as a slice instead of as a singleton.

why? well, the sonic stuff wasn't really that fast, it was a little bit but only got fast enough once I introduced unsafe conversions between []byte and string and did weird unsafe reuse of []byte in order to save the values of tags, which would definitely cause issues in the future if the caller wasn't aware of it (and even if they were, like myself).

and the filters stuff is because we abandoned the idea of changing NIP-01 to only accept one filter per REQ.
2025-07-10 22:58:37 -03:00
fiatjaf
ca03dc60f7 eventstore/lmdb,mmm: fix key size for "a"-style tags. 2025-06-29 22:25:28 -03:00
fiatjaf
32df8e407a eventstore/mmm: we added another db on layers. 2025-06-29 21:43:55 -03:00
fiatjaf
cc6ec3af73 simpler migrations (just reindex everything) and migrations on mmm. 2025-06-10 14:00:38 -03:00
fiatjaf
e9a08d669e eventstore: index tag letter together with the value. 2025-06-10 13:46:29 -03:00
fiatjaf
287d8c23c7 eventstore: add some basic tests. 2025-06-10 13:28:35 -03:00
fiatjaf
9cad1f0a5b evenstore/mmm: fix wrong limit being read in queries. 2025-06-08 07:14:48 -03:00
fiatjaf
f9e2907a97 fix GetTheoreticalLimit() buggy logic. 2025-05-12 12:23:24 -03:00
fiatjaf
7b1f4ae49a fix types so tests compile. 2025-05-12 10:18:06 -03:00
fiatjaf
65411a10c8 eventstore: fix maxLimit handling when filter.Limit is unset. 2025-05-12 06:12:58 -03:00
fiatjaf
f60fc08f8d eventstore: QueryEvents() to take a maxLimit param now so everything is clearer. 2025-05-11 09:36:59 -03:00
fiatjaf
cda69b52a1 eventstore/mmm: fix query by id wrong size check. 2025-05-08 13:11:25 -03:00
fiatjaf
c0934e0639 since and until are not pointers anymore because that is too annoying. 2025-05-08 09:32:54 -03:00
fiatjaf
15c6093c9b define a nostr.Kind type for event kinds, make adjustments everywhere and fix some horrible bugs with mmm, lmdb and badger querying and deleting. 2025-04-20 11:15:41 -03:00
fiatjaf
92c2de6294 eventstore tests. 2025-04-18 11:29:31 -03:00
fiatjaf
a7be696243 a bunch of conversions and api tweaks on khatru and eventstore. 2025-04-17 00:15:15 -03:00
fiatjaf
f7884cea4f wait, Querier can just return an iter like eventstore, it's ok. 2025-04-16 03:06:27 -03:00