Refactor TransactionWriter in server key API

This commit is contained in:
Neil Alexander 2020-08-20 17:34:03 +01:00
parent 9f3e7384fa
commit e551c035c6
No known key found for this signature in database
GPG key ID: A02A2019A2BB0944
2 changed files with 7 additions and 4 deletions

View file

@ -30,6 +30,7 @@ import (
// A Database implements gomatrixserverlib.KeyDatabase and is used to store
// the public keys for other matrix servers.
type Database struct {
writer sqlutil.TransactionWriter
statements serverKeyStatements
}
@ -47,8 +48,10 @@ func NewDatabase(
if err != nil {
return nil, err
}
d := &Database{}
err = d.statements.prepare(db)
d := &Database{
writer: sqlutil.NewTransactionWriter(),
}
err = d.statements.prepare(db, d.writer)
if err != nil {
return nil, err
}

View file

@ -68,9 +68,9 @@ type serverKeyStatements struct {
upsertServerKeysStmt *sql.Stmt
}
func (s *serverKeyStatements) prepare(db *sql.DB) (err error) {
func (s *serverKeyStatements) prepare(db *sql.DB, writer sqlutil.TransactionWriter) (err error) {
s.db = db
s.writer = sqlutil.NewTransactionWriter()
s.writer = writer
_, err = db.Exec(serverKeysSchema)
if err != nil {
return