From e551c035c6355c8f51ae5a5d87d739381af5230d Mon Sep 17 00:00:00 2001 From: Neil Alexander Date: Thu, 20 Aug 2020 17:34:03 +0100 Subject: [PATCH] Refactor TransactionWriter in server key API --- serverkeyapi/storage/sqlite3/keydb.go | 7 +++++-- serverkeyapi/storage/sqlite3/server_key_table.go | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/serverkeyapi/storage/sqlite3/keydb.go b/serverkeyapi/storage/sqlite3/keydb.go index 5174ece15..00be2a7f2 100644 --- a/serverkeyapi/storage/sqlite3/keydb.go +++ b/serverkeyapi/storage/sqlite3/keydb.go @@ -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 } diff --git a/serverkeyapi/storage/sqlite3/server_key_table.go b/serverkeyapi/storage/sqlite3/server_key_table.go index b829eae74..7dbb03c67 100644 --- a/serverkeyapi/storage/sqlite3/server_key_table.go +++ b/serverkeyapi/storage/sqlite3/server_key_table.go @@ -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