1ccc7ce6d2
This adds a new config option, `logs db`, which enables storing chat logs in the soju database. Regular store options, CHATHISTORY options, and SEARCH operations are supported, like the fs logs backend. Messages are stored in a new table, Message. In order to track the list of targets we have messages for in an optimized manner, another database is used: MessageTarget. All new requests are backend by indexes so should be fast even with hundreds of thousands of messages. A contrib script is provided for migrating existing logs fs chat logs to the database. It can be run with eg: go run ./contrib/migrate-logs/ logs/ sqlite3:soju.db Co-authored-by: Simon Ser <contact@emersion.fr>
28 lines
997 B
Modula-2
28 lines
997 B
Modula-2
module git.sr.ht/~emersion/soju
|
|
|
|
go 1.15
|
|
|
|
require (
|
|
git.sr.ht/~emersion/go-scfg v0.0.0-20211215104734-c2c7a15d6c99
|
|
git.sr.ht/~emersion/go-sqlite3-fts5 v0.0.0-20230217131031-f2c8767594fc
|
|
git.sr.ht/~sircmpwn/go-bare v0.0.0-20210406120253-ab86bc2846d9
|
|
github.com/SherClockHolmes/webpush-go v1.2.0
|
|
github.com/emersion/go-sasl v0.0.0-20220912192320-0145f2c60ead
|
|
github.com/klauspost/compress v1.15.12 // indirect
|
|
github.com/lib/pq v1.10.7
|
|
github.com/mattn/go-sqlite3 v1.14.16
|
|
github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect
|
|
github.com/msteinert/pam v1.1.0
|
|
github.com/pires/go-proxyproto v0.6.2
|
|
github.com/prometheus/client_golang v1.14.0
|
|
github.com/remyoudompheng/bigfft v0.0.0-20220927061507-ef77025ab5aa // indirect
|
|
golang.org/x/crypto v0.3.0
|
|
golang.org/x/time v0.2.0
|
|
golang.org/x/tools v0.3.0 // indirect
|
|
gopkg.in/irc.v4 v4.0.0
|
|
modernc.org/libc v1.21.5 // indirect
|
|
modernc.org/sqlite v1.19.4
|
|
modernc.org/token v1.1.0 // indirect
|
|
nhooyr.io/websocket v1.8.7
|
|
)
|