From 6b9db0c0c5ce97e0d91b78b1ccce59cb95272792 Mon Sep 17 00:00:00 2001 From: bergquist Date: Mon, 19 Dec 2016 08:18:42 +0100 Subject: [PATCH] style(alerting): simplify support for pausing multiple alerts --- pkg/services/sqlstore/alert.go | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/pkg/services/sqlstore/alert.go b/pkg/services/sqlstore/alert.go index 0f9f78eabb9..819b5cf544d 100644 --- a/pkg/services/sqlstore/alert.go +++ b/pkg/services/sqlstore/alert.go @@ -250,23 +250,19 @@ func PauseAlertRule(cmd *m.PauseAlertCommand) error { return inTransaction(func(sess *xorm.Session) error { var buffer bytes.Buffer params := make([]interface{}, 0) - buffer.WriteString(`UPDATE alert SET state = ?`) - - alertIdCount := len(cmd.AlertIds) - if alertIdCount == 1 { - buffer.WriteString(` WHERE id = ?`) - } else if alertIdCount > 1 { - buffer.WriteString(` WHERE id IN (?` + strings.Repeat(",?", len(cmd.AlertIds)-1) + `)`) - } + buffer.WriteString(`UPDATE alert SET state = ?`) if cmd.Paused { params = append(params, string(m.AlertStatePaused)) } else { params = append(params, string(m.AlertStatePending)) } - for _, v := range cmd.AlertIds { - params = append(params, v) + if len(cmd.AlertIds) > 0 { + buffer.WriteString(` WHERE id IN (?` + strings.Repeat(",?", len(cmd.AlertIds)-1) + `)`) + for _, v := range cmd.AlertIds { + params = append(params, v) + } } res, err := sess.Exec(buffer.String(), params...)