From 6747a95b3d8bb28e2ff8a4d8c55837fdb5d3c3be Mon Sep 17 00:00:00 2001 From: Kailash Nadh Date: Thu, 5 Dec 2019 21:27:31 +0530 Subject: [PATCH] Fix unclosed DB transactions in subscriber search --- queries.go | 2 +- subscribers.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/queries.go b/queries.go index b92d4ac..b15e224 100644 --- a/queries.go +++ b/queries.go @@ -110,6 +110,7 @@ func (q *Queries) compileSubscriberQueryTpl(exp string, db *sqlx.DB) (string, er if err != nil { return "", err } + defer tx.Rollback() // Perform the dry run. if exp != "" { @@ -117,7 +118,6 @@ func (q *Queries) compileSubscriberQueryTpl(exp string, db *sqlx.DB) (string, er } stmt := fmt.Sprintf(q.QuerySubscribersTpl, exp) if _, err := tx.Exec(stmt, true, pq.Int64Array{}); err != nil { - tx.Rollback() return "", err } diff --git a/subscribers.go b/subscribers.go index 033f032..3fb67fa 100644 --- a/subscribers.go +++ b/subscribers.go @@ -114,10 +114,10 @@ func handleQuerySubscribers(c echo.Context) error { return echo.NewHTTPError(http.StatusInternalServerError, fmt.Sprintf("Error preparing query: %v", pqErrMsg(err))) } + defer tx.Rollback() // Run the query. if err := tx.Select(&out.Results, stmt, listIDs, "id", pg.Offset, pg.Limit); err != nil { - tx.Rollback() return echo.NewHTTPError(http.StatusInternalServerError, fmt.Sprintf("Error querying subscribers: %v", pqErrMsg(err))) }