thesimplekid
c13961a5c4
fix: nip05 for postgres
2023-03-03 08:57:23 -06:00
Greg Heartsfield
8c9170d4e3
fix: persist database version for v18 migration
2023-02-25 15:55:00 -06:00
thesimplekid
c0158af18b
feat(NIP-111): pay to relay (experimental)
2023-02-25 15:38:26 -06:00
Greg Heartsfield
c1c25a22f5
refactor: format
2023-02-25 14:49:35 -06:00
thesimplekid
6df92f9580
refactor: format
...
cargo fmt
2023-02-25 14:46:49 -06:00
Greg Heartsfield
5f6ff4c2b7
fix: in-memory SQLite DB correctly shares memory between connections
...
fixes: https://todo.sr.ht/~gheartsfield/nostr-rs-relay/73#event-227131
2023-02-21 08:14:19 -06:00
Greg Heartsfield
df411c24fb
fix: block other writers during checkpoint to eliminate DB lock errors
2023-02-20 16:50:44 -06:00
Greg Heartsfield
9d55731073
fix: Postgres SQL generation for expiring events
2023-02-17 21:04:30 -06:00
Greg Heartsfield
5638f70d66
fix: set SQL tracing back to appropriate level
2023-02-17 20:50:19 -06:00
Greg Heartsfield
bf06bea808
feat(NIP-40): postgres support for event expiration
2023-02-17 13:25:56 -06:00
Greg Heartsfield
e5ca8c2a86
improvement: run expired event cleanup every 10 minutes
2023-02-17 11:22:00 -06:00
Greg Heartsfield
8ea63f0b27
feat(NIP-40): sqlite support for event expiration
2023-02-17 11:15:06 -06:00
0xtr
7fd9b55e70
fix: typo in sqlite_migration.rs
2023-02-15 18:52:49 -06:00
Greg Heartsfield
136e41d234
fix: retry event writes if DB is busy
2023-02-15 18:38:34 -06:00
Kieran
1daa25600d
fix: postgres tag inserts
2023-02-14 06:33:01 -06:00
Greg Heartsfield
2fc9168a38
fix: SQL error with parameterized replaceable events
2023-02-13 17:10:42 -06:00
Greg Heartsfield
15e2f097aa
improvement: advise operator this upgrade may take a minute
2023-02-13 07:37:13 -06:00
Greg Heartsfield
185f9e7abb
feat: improved query performance when looking for deletion events (improves event insert time)
2023-02-12 15:43:22 -06:00
Greg Heartsfield
f44dae6ac9
fix: use correct start time for logging SQL generation
2023-02-12 15:00:50 -06:00
Greg Heartsfield
abc356c17d
perf(sqlite): index tags with their kind/created_at fields
...
This updates the DB schema to remove the distinction between hex and
non-hex tag values, for simplicity. The space savings did not seem to
be worth the extra complexity.
The SQLite tags table is denormalized to duplicate kind/created_at to
improve the ability of tag indexes to filter data.
2023-02-12 14:33:40 -06:00
Naoki Ikeguchi
bd07a11f50
refactor: Fix clippy warnings
2023-02-06 07:29:45 -06:00
thesimplekid
1ca5d652de
format: postgres_migrations
2023-02-06 06:44:57 -06:00
thesimplekid
d7cceab8fc
fix: tag table does not have a unique constraint
...
`cargo fmt` on the document.
2023-02-06 06:44:57 -06:00
Greg Heartsfield
cdd4e5949f
fix: correctly log SQL generation time
2023-02-03 10:39:41 -06:00
Greg Heartsfield
5999009779
improvement: increase connection cache size
2023-02-02 18:34:30 -06:00
Greg Heartsfield
e36c791c53
improvement: prevent spilling temp indexes to disk
2023-02-02 18:15:14 -06:00
Greg Heartsfield
8004ea9b44
fix(NIP-33): only delete older events with matching 'd' tags
2023-02-02 16:09:17 -06:00
Greg Heartsfield
866c239cc9
improvement: simplify SQL queries for tags
2023-02-02 12:24:10 -06:00
Greg Heartsfield
ba4fcd072a
improvement: allow queries to be cancelled earlier (before SQL execution)
2023-02-01 18:09:30 -06:00
Greg Heartsfield
2b79099cfe
improvement: drop slow readers more quickly
2023-02-01 18:09:30 -06:00
Greg Heartsfield
eb1d2d717d
improvement: log sleeps due to full query_tx
2023-02-01 18:09:30 -06:00
Greg Heartsfield
e5e03d4378
improvement: log slow filter query time
2023-02-01 18:09:30 -06:00
Greg Heartsfield
c377b136aa
improvement: prometheus metric for db connections (sqlite)
2023-02-01 18:09:30 -06:00
Greg Heartsfield
bca5614a82
perf: hold database handle through all filters when querying
2023-02-01 18:09:30 -06:00
Greg Heartsfield
ab749e9cf0
improvement: log mixed string/blob tag queries
2023-02-01 07:49:46 -06:00
Greg Heartsfield
1820e9c689
perf: separate out blob and string tag queries
2023-02-01 07:13:29 -06:00
Greg Heartsfield
2d3a35fe30
perf: force event hash index if filter uses ids
2023-02-01 06:46:35 -06:00
Greg Heartsfield
9c77b06f79
improvement: dedupe filters in a REQ
2023-01-31 18:09:43 -06:00
Greg Heartsfield
c8e8b71b91
fix: use accurate timer for slow queries, and use 250ms as cutoff
2023-01-31 18:09:43 -06:00
Greg Heartsfield
6d57adef73
improvement: log filter in a reusable format for slow queries
2023-01-31 18:09:43 -06:00
Greg Heartsfield
111eb4a10c
perf: prevent sqlite readers from capturing worker thread pool and impacting writer latency
2023-01-31 18:09:23 -06:00
Greg Heartsfield
214f152c5d
improvement: provide reason for abort in prometheus metric
2023-01-30 18:40:47 -06:00
Greg Heartsfield
3fcaf97a15
improvement: move sqlite connection acquisition into blocking thread
2023-01-30 18:02:40 -06:00
Greg Heartsfield
cec501b37f
improvement: start timing for each new filter execution
2023-01-30 18:02:40 -06:00
Greg Heartsfield
2557c7f69c
improvement: run filters as separate queries, to reduce complexity on SQLite query planner
2023-01-30 18:02:40 -06:00
Greg Heartsfield
3979a94726
improvement: do not force query to use index when limit is specified
2023-01-30 18:02:40 -06:00
Greg Heartsfield
71bdbfb425
improvement: query and exit early for events that get immediately replaced
2023-01-30 18:02:40 -06:00
Greg Heartsfield
b6798f96b6
improvement: add prometheus metrics, renaming others
2023-01-30 18:02:28 -06:00
thesimplekid
6f1a4e7d76
fix: postgres create index before column exists
2023-01-29 18:32:42 -06:00
Greg Heartsfield
1804bee912
feat(NIP-33): parameterized replaceable events for postgres
2023-01-29 18:30:08 -06:00