From d300a27ee7367004576c34f5ee0bb3df4571e849 Mon Sep 17 00:00:00 2001 From: "Grot (@grafanabot)" <43478413+grafanabot@users.noreply.github.com> Date: Wed, 20 Apr 2022 16:00:37 -0400 Subject: [PATCH] Comments: fix wrong SQL query generated if Settings are not empty (#47552) (#47999) (cherry picked from commit ce89d7e874152bf6c16353c9f3f3d6532168f482) Co-authored-by: Alexander Emelin --- pkg/services/comments/sql_storage.go | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/pkg/services/comments/sql_storage.go b/pkg/services/comments/sql_storage.go index 6a95c225912..f9c93702e9e 100644 --- a/pkg/services/comments/sql_storage.go +++ b/pkg/services/comments/sql_storage.go @@ -35,12 +35,11 @@ func (s *sqlStorage) Create(ctx context.Context, orgID int64, objectType string, var result *commentmodel.Comment return result, s.sql.WithTransactionalDbSession(ctx, func(dbSession *sqlstore.DBSession) error { - group := commentmodel.CommentGroup{ - OrgId: orgID, - ObjectType: objectType, - ObjectId: objectID, - } - has, err := dbSession.Get(&group) + var group commentmodel.CommentGroup + has, err := dbSession.NoAutoCondition().Where( + "org_id=? AND object_type=? AND object_id=?", + orgID, objectType, objectID, + ).Get(&group) if err != nil { return err } @@ -49,6 +48,9 @@ func (s *sqlStorage) Create(ctx context.Context, orgID int64, objectType string, groupID := group.Id if !has { + group.OrgId = orgID + group.ObjectType = objectType + group.ObjectId = objectID group.Created = nowUnix group.Updated = nowUnix group.Settings = commentmodel.Settings{} @@ -95,12 +97,11 @@ func (s *sqlStorage) Get(ctx context.Context, orgID int64, objectType string, ob } return result, s.sql.WithTransactionalDbSession(ctx, func(dbSession *sqlstore.DBSession) error { - group := commentmodel.CommentGroup{ - OrgId: orgID, - ObjectType: objectType, - ObjectId: objectID, - } - has, err := dbSession.Get(&group) + var group commentmodel.CommentGroup + has, err := dbSession.NoAutoCondition().Where( + "org_id=? AND object_type=? AND object_id=?", + orgID, objectType, objectID, + ).Get(&group) if err != nil { return err }