mirror of
https://github.com/matrix-org/dendrite.git
synced 2025-12-22 06:13:10 -06:00
Allow disabling txns again on updaters
This commit is contained in:
parent
1ecd40082e
commit
0e3bc7a3e6
|
|
@ -21,6 +21,7 @@ type membershipUpdater struct {
|
|||
func NewMembershipUpdater(
|
||||
ctx context.Context, d *Database, roomID, targetUserID string,
|
||||
targetLocal bool, roomVersion gomatrixserverlib.RoomVersion,
|
||||
useTxns bool,
|
||||
) (types.MembershipUpdater, func() error, error) {
|
||||
txn, err := d.DB.Begin()
|
||||
if err != nil {
|
||||
|
|
@ -43,6 +44,10 @@ func NewMembershipUpdater(
|
|||
return nil, nil, fmt.Errorf("d.AssignStateKeyNID: %w", err)
|
||||
}
|
||||
|
||||
if !useTxns {
|
||||
txn = nil
|
||||
}
|
||||
|
||||
updater, cleanup, err := d.membershipUpdaterTxn(ctx, txn, roomNID, targetUserNID, targetLocal)
|
||||
if err != nil {
|
||||
return nil, nil, fmt.Errorf("d.membershipUpdaterTxn: %w", err)
|
||||
|
|
|
|||
|
|
@ -347,7 +347,7 @@ func (d *Database) MembershipUpdater(
|
|||
ctx context.Context, roomID, targetUserID string,
|
||||
targetLocal bool, roomVersion gomatrixserverlib.RoomVersion,
|
||||
) (types.MembershipUpdater, func() error, error) {
|
||||
return NewMembershipUpdater(ctx, d, roomID, targetUserID, targetLocal, roomVersion)
|
||||
return NewMembershipUpdater(ctx, d, roomID, targetUserID, targetLocal, roomVersion, true)
|
||||
}
|
||||
|
||||
func (d *Database) GetLatestEventsForUpdate(
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@ import (
|
|||
"github.com/matrix-org/dendrite/roomserver/storage/shared"
|
||||
"github.com/matrix-org/dendrite/roomserver/storage/tables"
|
||||
"github.com/matrix-org/dendrite/roomserver/types"
|
||||
"github.com/matrix-org/gomatrixserverlib"
|
||||
_ "github.com/mattn/go-sqlite3"
|
||||
)
|
||||
|
||||
|
|
@ -141,3 +142,10 @@ func (d *Database) GetLatestEventsForUpdate(
|
|||
) (types.RoomRecentEventsUpdater, func() error, error) {
|
||||
return shared.NewRoomRecentEventsUpdater(&d.Database, ctx, roomNID, false)
|
||||
}
|
||||
|
||||
func (d *Database) MembershipUpdater(
|
||||
ctx context.Context, roomID, targetUserID string,
|
||||
targetLocal bool, roomVersion gomatrixserverlib.RoomVersion,
|
||||
) (types.MembershipUpdater, func() error, error) {
|
||||
return shared.NewMembershipUpdater(ctx, &d.Database, roomID, targetUserID, targetLocal, roomVersion, false)
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue