This is an automated email from the ASF dual-hosted git repository. dangogh pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-trafficcontrol.git
commit 5ca70640e09b0e2c98c053c446a449f2e6b97bd0 Author: Dylan Volz <dylan_v...@comcast.com> AuthorDate: Thu Feb 8 13:28:20 2018 -0700 fix unclosed rows and error overwriting in cdns.go --- traffic_ops/traffic_ops_golang/cdn/cdns.go | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/traffic_ops/traffic_ops_golang/cdn/cdns.go b/traffic_ops/traffic_ops_golang/cdn/cdns.go index ca02d09..7060bea 100644 --- a/traffic_ops/traffic_ops_golang/cdn/cdns.go +++ b/traffic_ops/traffic_ops_golang/cdn/cdns.go @@ -147,8 +147,8 @@ func (cdn *TOCDN) Update(db *sqlx.DB, user auth.CurrentUser) (error, tc.ApiError log.Debugf("about to run exec query: %s with cdn: %++v", updateCDNQuery(), cdn) resultRows, err := tx.NamedQuery(updateCDNQuery(), cdn) if err != nil { - if err, ok := err.(*pq.Error); ok { - err, eType := dbhelpers.ParsePQUniqueConstraintError(err) + if pqErr, ok := err.(*pq.Error); ok { + err, eType := dbhelpers.ParsePQUniqueConstraintError(pqErr) if eType == tc.DataConflictError { return errors.New("a cdn with " + err.Error()), eType } @@ -158,6 +158,8 @@ func (cdn *TOCDN) Update(db *sqlx.DB, user auth.CurrentUser) (error, tc.ApiError return tc.DBError, tc.SystemError } } + defer resultRows.Close() + var lastUpdated tc.Time rowsAffected := 0 for resultRows.Next() { @@ -205,14 +207,19 @@ func (cdn *TOCDN) Insert(db *sqlx.DB, user auth.CurrentUser) (error, tc.ApiError } resultRows, err := tx.NamedQuery(insertCDNQuery(), cdn) if err != nil { - if err, ok := err.(*pq.Error); ok { - err, eType := dbhelpers.ParsePQUniqueConstraintError(err) - return errors.New("a cdn with " + err.Error()), eType + if pqErr, ok := err.(*pq.Error); ok { + err, eType := dbhelpers.ParsePQUniqueConstraintError(pqErr) + if eType == tc.DataConflictError { + return errors.New("a cdn with " + err.Error()), eType + } + return err, eType } else { log.Errorf("received non pq error: %++v from create execution", err) return tc.DBError, tc.SystemError } } + defer resultRows.Close() + var id int var lastUpdated tc.Time rowsAffected := 0 -- To stop receiving notification emails like this one, please contact dang...@apache.org.