diff --git a/server/channels/store/sqlstore/system_store.go b/server/channels/store/sqlstore/system_store.go index 7e9ebd7703..0d9e9448b9 100644 --- a/server/channels/store/sqlstore/system_store.go +++ b/server/channels/store/sqlstore/system_store.go @@ -16,10 +16,14 @@ import ( type SqlSystemStore struct { *SqlStore + + systemSelectQuery sq.SelectBuilder } func newSqlSystemStore(sqlStore *SqlStore) store.SystemStore { - return &SqlSystemStore{sqlStore} + s := SqlSystemStore{SqlStore: sqlStore} + s.systemSelectQuery = s.getQueryBuilder().Select("Name", "Value").From("Systems") + return &s } func (s SqlSystemStore) Save(system *model.System) error { @@ -68,7 +72,8 @@ func (s SqlSystemStore) Get() (model.StringMap, error) { systems := []model.System{} props := make(model.StringMap) - if err := s.GetReplica().Select(&systems, "SELECT * FROM Systems"); err != nil { + query := s.systemSelectQuery + if err := s.GetReplica().SelectBuilder(&systems, query); err != nil { return nil, errors.Wrap(err, "failed to get System list") } @@ -81,7 +86,8 @@ func (s SqlSystemStore) Get() (model.StringMap, error) { func (s SqlSystemStore) GetByName(name string) (*model.System, error) { var system model.System - if err := s.GetMaster().Get(&system, "SELECT * FROM Systems WHERE Name = ?", name); err != nil { + query := s.systemSelectQuery.Where(sq.Eq{"Name": name}) + if err := s.GetMaster().GetBuilder(&system, query); err != nil { if err == sql.ErrNoRows { return nil, store.NewErrNotFound("System", fmt.Sprintf("name=%s", system.Name)) } @@ -112,8 +118,8 @@ func (s SqlSystemStore) InsertIfExists(system *model.System) (_ *model.System, e defer finalizeTransactionX(tx, &err) var origSystem model.System - if err := tx.Get(&origSystem, `SELECT * FROM Systems - WHERE Name = ?`, system.Name); err != nil && err != sql.ErrNoRows { + query := s.systemSelectQuery.Where(sq.Eq{"Name": system.Name}) + if err := tx.GetBuilder(&origSystem, query); err != nil && err != sql.ErrNoRows { return nil, errors.Wrapf(err, "failed to get system property with name=%s", system.Name) }