refactor: remove redundant Begin() calls after NewSession auto-begins

Since NewSession() now auto-begins a transaction, explicit Begin()
calls are redundant (xorm's Begin() is a no-op when already in a
transaction). Removing them reduces confusion.

Special case: user_delete.go's loop previously called Begin/Commit
per user on a shared session. Restructured to create a new session
per user deletion so each gets its own transaction.
This commit is contained in:
kolaente 2026-02-24 11:50:35 +01:00
parent 764d3569ce
commit a6e6f252db
8 changed files with 16 additions and 75 deletions

View File

@ -44,14 +44,6 @@ on file creation. Only files with an empty or NULL mime column are affected.`,
s := db.NewSession()
defer s.Close()
if err := s.Begin(); err != nil {
log.Errorf("Failed to start transaction: %s", err)
return
}
defer func() {
_ = s.Rollback()
}()
result, err := files.RepairFileMimeTypes(s)
if err != nil {
log.Errorf("Failed to repair file MIME types: %s", err)

View File

@ -55,15 +55,6 @@ Use --dry-run to preview what would be fixed without making changes.`,
if dryRun {
log.Infof("Running in dry-run mode - no changes will be made")
} else {
if err := s.Begin(); err != nil {
log.Errorf("Failed to start transaction: %s", err)
return
}
defer func() {
// Rollback is a no-op if commit already succeeded
_ = s.Rollback()
}()
}
result, err := models.RepairTaskPositions(s, dryRun)

View File

@ -369,10 +369,6 @@ var userDeleteCmd = &cobra.Command{
s := db.NewSession()
defer s.Close()
if err := s.Begin(); err != nil {
log.Fatalf("Count not start transaction: %s", err)
}
u := getUserFromArg(s, args[0])
if userFlagDeleteNow {

View File

@ -1199,11 +1199,6 @@ func (l *CleanupTaskAssignmentsAfterTeamRemoval) Handle(msg *message.Message) (e
return nil
}
err = s.Begin()
if err != nil {
return err
}
err = cleanupTaskMembersAfterTeamRemoval(s, event.Team.ID, event.Member.ID)
if err != nil {
_ = s.Rollback()
@ -1263,10 +1258,6 @@ func (s *HandleUserDataExport) Handle(msg *message.Message) (err error) {
sess := db.NewSession()
defer sess.Close()
err = sess.Begin()
if err != nil {
return
}
err = ExportUserData(sess, event.User)
if err != nil {
@ -1276,8 +1267,7 @@ func (s *HandleUserDataExport) Handle(msg *message.Message) (err error) {
log.Debugf("Done exporting user data for user %d...", event.User.ID)
err = sess.Commit()
return err
return sess.Commit()
}
type MarkTaskUnreadOnComment struct {
@ -1297,11 +1287,6 @@ func (s *MarkTaskUnreadOnComment) Handle(msg *message.Message) (err error) {
sess := db.NewSession()
defer sess.Close()
err = sess.Begin()
if err != nil {
return err
}
project, err := GetProjectSimpleByID(sess, event.Task.ProjectID)
if err != nil {
_ = sess.Rollback()

View File

@ -536,7 +536,6 @@ func SyncUpdatedTasksIntoTypesense() (err error) {
tasks := make(map[int64]*Task)
s := db.NewSession()
_ = s.Begin()
defer s.Close()
lastSync := &TypesenseSync{}

View File

@ -65,26 +65,24 @@ func deleteUsers() {
continue
}
err = s.Begin()
if err != nil {
log.Errorf("Could not start transaction: %s", err)
return
}
func() {
us := db.NewSession()
defer us.Close()
err = DeleteUser(s, u)
if err != nil {
_ = s.Rollback()
log.Errorf("Could not delete u %d: %s", u.ID, err)
return
}
err = DeleteUser(us, u)
if err != nil {
_ = us.Rollback()
log.Errorf("Could not delete u %d: %s", u.ID, err)
return
}
log.Debugf("Deleted user %d", u.ID)
log.Debugf("Deleted user %d", u.ID)
err = s.Commit()
if err != nil {
log.Errorf("Could not commit transaction: %s", err)
return
}
err = us.Commit()
if err != nil {
log.Errorf("Could not commit transaction: %s", err)
}
}()
}
}

View File

@ -50,11 +50,6 @@ func UserRequestDeletion(c *echo.Context) error {
s := db.NewSession()
defer s.Close()
err := s.Begin()
if err != nil {
return err
}
u, err := user.GetCurrentUserFromDB(s, c)
if err != nil {
_ = s.Rollback()
@ -119,11 +114,6 @@ func UserConfirmDeletion(c *echo.Context) error {
s := db.NewSession()
defer s.Close()
err = s.Begin()
if err != nil {
return err
}
u, err := user.GetCurrentUserFromDB(s, c)
if err != nil {
_ = s.Rollback()
@ -161,11 +151,6 @@ func UserCancelDeletion(c *echo.Context) error {
s := db.NewSession()
defer s.Close()
err := s.Begin()
if err != nil {
return err
}
u, err := user.GetCurrentUserFromDB(s, c)
if err != nil {
_ = s.Rollback()

View File

@ -34,11 +34,6 @@ func checkExportRequest(c *echo.Context) (s *xorm.Session, u *user.User, err err
s = db.NewSession()
defer s.Close()
err = s.Begin()
if err != nil {
return nil, nil, err
}
u, err = user.GetCurrentUserFromDB(s, c)
if err != nil {
_ = s.Rollback()