From 94bc32b50cc7a8eb90db49bb4f0c9b5bc34b8554 Mon Sep 17 00:00:00 2001 From: Jesse Hallam Date: Tue, 22 Apr 2025 18:08:43 -0300 Subject: [PATCH] avoid SELECT * in cluster discovery store (#30830) --- .../store/sqlstore/cluster_discovery_store.go | 25 ++++++++++++++++--- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/server/channels/store/sqlstore/cluster_discovery_store.go b/server/channels/store/sqlstore/cluster_discovery_store.go index 6a07df10f15..bd317b2e8cd 100644 --- a/server/channels/store/sqlstore/cluster_discovery_store.go +++ b/server/channels/store/sqlstore/cluster_discovery_store.go @@ -13,10 +13,29 @@ import ( type sqlClusterDiscoveryStore struct { *SqlStore + + clusterDiscoveryQuery sq.SelectBuilder } func newSqlClusterDiscoveryStore(sqlStore *SqlStore) store.ClusterDiscoveryStore { - return &sqlClusterDiscoveryStore{sqlStore} + s := &sqlClusterDiscoveryStore{ + SqlStore: sqlStore, + } + + s.clusterDiscoveryQuery = s.getQueryBuilder(). + Select( + "Id", + "Type", + "ClusterName", + "Hostname", + "GossipPort", + "Port", + "CreateAt", + "LastPingAt", + ). + From("ClusterDiscovery") + + return s } func (s sqlClusterDiscoveryStore) Save(ClusterDiscovery *model.ClusterDiscovery) error { @@ -84,9 +103,7 @@ func (s sqlClusterDiscoveryStore) Exists(ClusterDiscovery *model.ClusterDiscover } func (s sqlClusterDiscoveryStore) GetAll(ClusterDiscoveryType, clusterName string) ([]*model.ClusterDiscovery, error) { - query := s.getQueryBuilder(). - Select("*"). - From("ClusterDiscovery"). + query := s.clusterDiscoveryQuery. Where(sq.Eq{"Type": ClusterDiscoveryType}). Where(sq.Eq{"ClusterName": clusterName}). Where(sq.Gt{"LastPingAt": model.GetMillis() - model.CDSOfflineAfterMillis})