Don't use writers in both shared and sqlite3

This commit is contained in:
Neil Alexander 2020-09-01 16:45:34 +01:00
parent c5c8a24161
commit 05a06205ad
No known key found for this signature in database
GPG key ID: A02A2019A2BB0944
2 changed files with 18 additions and 24 deletions

View file

@ -83,7 +83,6 @@ const selectKnownUsersSQL = "" +
type currentRoomStateStatements struct { type currentRoomStateStatements struct {
db *sql.DB db *sql.DB
writer sqlutil.Writer
upsertRoomStateStmt *sql.Stmt upsertRoomStateStmt *sql.Stmt
deleteRoomStateByEventIDStmt *sql.Stmt deleteRoomStateByEventIDStmt *sql.Stmt
selectRoomIDsWithMembershipStmt *sql.Stmt selectRoomIDsWithMembershipStmt *sql.Stmt
@ -93,10 +92,9 @@ type currentRoomStateStatements struct {
selectKnownUsersStmt *sql.Stmt selectKnownUsersStmt *sql.Stmt
} }
func NewSqliteCurrentRoomStateTable(db *sql.DB, writer sqlutil.Writer) (tables.CurrentRoomState, error) { func NewSqliteCurrentRoomStateTable(db *sql.DB) (tables.CurrentRoomState, error) {
s := &currentRoomStateStatements{ s := &currentRoomStateStatements{
db: db, db: db,
writer: writer,
} }
_, err := db.Exec(currentRoomStateSchema) _, err := db.Exec(currentRoomStateSchema)
if err != nil { if err != nil {
@ -177,11 +175,9 @@ func (s *currentRoomStateStatements) SelectRoomIDsWithMembership(
func (s *currentRoomStateStatements) DeleteRoomStateByEventID( func (s *currentRoomStateStatements) DeleteRoomStateByEventID(
ctx context.Context, txn *sql.Tx, eventID string, ctx context.Context, txn *sql.Tx, eventID string,
) error { ) error {
return s.writer.Do(s.db, txn, func(txn *sql.Tx) error { stmt := sqlutil.TxStmt(txn, s.deleteRoomStateByEventIDStmt)
stmt := sqlutil.TxStmt(txn, s.deleteRoomStateByEventIDStmt) _, err := stmt.ExecContext(ctx, eventID)
_, err := stmt.ExecContext(ctx, eventID) return err
return err
})
} }
func (s *currentRoomStateStatements) UpsertRoomState( func (s *currentRoomStateStatements) UpsertRoomState(
@ -194,20 +190,18 @@ func (s *currentRoomStateStatements) UpsertRoomState(
} }
// upsert state event // upsert state event
return s.writer.Do(s.db, txn, func(txn *sql.Tx) error { stmt := sqlutil.TxStmt(txn, s.upsertRoomStateStmt)
stmt := sqlutil.TxStmt(txn, s.upsertRoomStateStmt) _, err = stmt.ExecContext(
_, err = stmt.ExecContext( ctx,
ctx, event.RoomID(),
event.RoomID(), event.EventID(),
event.EventID(), event.Type(),
event.Type(), event.Sender(),
event.Sender(), *event.StateKey(),
*event.StateKey(), headeredJSON,
headeredJSON, contentVal,
contentVal, )
) return err
return err
})
} }
func (s *currentRoomStateStatements) SelectEventsWithEventIDs( func (s *currentRoomStateStatements) SelectEventsWithEventIDs(

View file

@ -27,7 +27,7 @@ func NewDatabase(dbProperties *config.DatabaseOptions) (*Database, error) {
if err = d.PartitionOffsetStatements.Prepare(d.db, d.writer, "currentstate"); err != nil { if err = d.PartitionOffsetStatements.Prepare(d.db, d.writer, "currentstate"); err != nil {
return nil, err return nil, err
} }
currRoomState, err := NewSqliteCurrentRoomStateTable(d.db, d.writer) currRoomState, err := NewSqliteCurrentRoomStateTable(d.db)
if err != nil { if err != nil {
return nil, err return nil, err
} }