From 9300caf24305fd84c66d8c91c5748e422c4ed458 Mon Sep 17 00:00:00 2001 From: Till Faelligen <2353100+S7evinK@users.noreply.github.com> Date: Fri, 9 Sep 2022 13:27:19 +0200 Subject: [PATCH] Use writer to avoid locked databases --- userapi/storage/shared/storage.go | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/userapi/storage/shared/storage.go b/userapi/storage/shared/storage.go index 7c625a3a9..d968b47a9 100644 --- a/userapi/storage/shared/storage.go +++ b/userapi/storage/shared/storage.go @@ -195,10 +195,14 @@ func (d *Database) QueryPushRules( if err != nil { return nil, fmt.Errorf("failed to marshal default push rules: %w", err) } - if err := d.AccountDatas.InsertAccountData(ctx, nil, localpart, "", "m.push_rules", json.RawMessage(prbs)); err != nil { - return nil, fmt.Errorf("failed to save default push rules: %w", err) - } - return pushRuleSets, nil + err = d.Writer.Do(d.DB, nil, func(txn *sql.Tx) error { + if dbErr := d.AccountDatas.InsertAccountData(ctx, txn, localpart, "", "m.push_rules", prbs); dbErr != nil { + return fmt.Errorf("failed to save default push rules: %w", dbErr) + } + return nil + }) + + return pushRuleSets, err } var pushRules pushrules.AccountRuleSets