Add missing transaction rollbacks for SQL store (#9964)

* Add missing transaction rollbacks for SQL store

* Add `defer transaction.Rollback()` in SQL stores.

* abstract finalizeTransaction
Этот коммит содержится в:
κουκουλοφόρος
2019-02-23 19:44:52 +00:00
коммит произвёл Lev
родитель b4d645f121
Коммит 5b24c44e19
11 изменённых файлов: 49 добавлений и 108 удалений

Просмотреть файл

@@ -164,6 +164,7 @@ func (as SqlOAuthStore) DeleteApp(id string) store.StoreChannel {
if err != nil {
result.Err = model.NewAppError("SqlOAuthStore.DeleteApp", "store.sql_oauth.delete.open_transaction.app_error", nil, err.Error(), http.StatusInternalServerError)
} else {
defer finalizeTransaction(transaction)
if extrasResult := as.deleteApp(transaction, id); extrasResult.Err != nil {
*result = extrasResult
}
@@ -173,10 +174,6 @@ func (as SqlOAuthStore) DeleteApp(id string) store.StoreChannel {
// don't need to rollback here since the transaction is already closed
result.Err = model.NewAppError("SqlOAuthStore.DeleteApp", "store.sql_oauth.delete.commit_transaction.app_error", nil, err.Error(), http.StatusInternalServerError)
}
} else {
if err := transaction.Rollback(); err != nil {
result.Err = model.NewAppError("SqlOAuthStore.DeleteApp", "store.sql_oauth.delete.rollback_transaction.app_error", nil, err.Error(), http.StatusInternalServerError)
}
}
}
})