mirror of
https://github.com/mattermost/mattermost.git
synced 2026-05-28 04:35:04 -04:00
avoid SELECT * in link metadata store (#30833)
* avoid SELECT * in link metadata store * Address PR comment: define column names once and reuse
This commit is contained in:
parent
701ddc896a
commit
eb8aaba1bf
1 changed files with 21 additions and 5 deletions
|
|
@ -16,10 +16,28 @@ import (
|
|||
|
||||
type SqlLinkMetadataStore struct {
|
||||
*SqlStore
|
||||
|
||||
linkMetadataColumns []string
|
||||
linkMetadataQuery sq.SelectBuilder
|
||||
}
|
||||
|
||||
func newSqlLinkMetadataStore(sqlStore *SqlStore) store.LinkMetadataStore {
|
||||
return &SqlLinkMetadataStore{sqlStore}
|
||||
s := &SqlLinkMetadataStore{
|
||||
SqlStore: sqlStore,
|
||||
linkMetadataColumns: []string{
|
||||
"Hash",
|
||||
"URL",
|
||||
"Timestamp",
|
||||
"Type",
|
||||
"Data",
|
||||
},
|
||||
}
|
||||
|
||||
s.linkMetadataQuery = s.getQueryBuilder().
|
||||
Select(s.linkMetadataColumns...).
|
||||
From("LinkMetadata")
|
||||
|
||||
return s
|
||||
}
|
||||
|
||||
func (s SqlLinkMetadataStore) Save(metadata *model.LinkMetadata) (*model.LinkMetadata, error) {
|
||||
|
|
@ -38,7 +56,7 @@ func (s SqlLinkMetadataStore) Save(metadata *model.LinkMetadata) (*model.LinkMet
|
|||
|
||||
query := s.getQueryBuilder().
|
||||
Insert("LinkMetadata").
|
||||
Columns("Hash", "URL", "Timestamp", "Type", "Data").
|
||||
Columns(s.linkMetadataColumns...).
|
||||
Values(metadata.Hash, metadata.URL, metadata.Timestamp, metadata.Type, metadataBytes)
|
||||
|
||||
if s.DriverName() == model.DatabaseDriverMysql {
|
||||
|
|
@ -62,9 +80,7 @@ func (s SqlLinkMetadataStore) Save(metadata *model.LinkMetadata) (*model.LinkMet
|
|||
|
||||
func (s SqlLinkMetadataStore) Get(url string, timestamp int64) (*model.LinkMetadata, error) {
|
||||
var metadata model.LinkMetadata
|
||||
query, args, err := s.getQueryBuilder().
|
||||
Select("*").
|
||||
From("LinkMetadata").
|
||||
query, args, err := s.linkMetadataQuery.
|
||||
Where(sq.Eq{"URL": url, "Timestamp": timestamp}).
|
||||
ToSql()
|
||||
if err != nil {
|
||||
|
|
|
|||
Loading…
Reference in a new issue