Skip to content

Commit 4842e3b

Browse files
fix: use sqlStore instead of bun.db (#7416)
* fix: use sqlStore instead of bun.db * fix: get it to running state * fix: name changes
1 parent 9bdf194 commit 4842e3b

File tree

8 files changed

+51
-51
lines changed

8 files changed

+51
-51
lines changed

ee/http/middleware/pat.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,20 @@ import (
44
"net/http"
55
"time"
66

7+
"github.com/SigNoz/signoz/pkg/sqlstore"
78
"github.com/SigNoz/signoz/pkg/types"
89
"github.com/SigNoz/signoz/pkg/types/authtypes"
9-
"github.com/uptrace/bun"
1010
"go.uber.org/zap"
1111
)
1212

1313
type Pat struct {
14-
db *bun.DB
14+
store sqlstore.SQLStore
1515
uuid *authtypes.UUID
1616
headers []string
1717
}
1818

19-
func NewPat(db *bun.DB, headers []string) *Pat {
20-
return &Pat{db: db, uuid: authtypes.NewUUID(), headers: headers}
19+
func NewPat(store sqlstore.SQLStore, headers []string) *Pat {
20+
return &Pat{store: store, uuid: authtypes.NewUUID(), headers: headers}
2121
}
2222

2323
func (p *Pat) Wrap(next http.Handler) http.Handler {
@@ -41,7 +41,7 @@ func (p *Pat) Wrap(next http.Handler) http.Handler {
4141
return
4242
}
4343

44-
err = p.db.NewSelect().Model(&pat).Where("token = ?", patToken).Scan(r.Context())
44+
err = p.store.BunDB().NewSelect().Model(&pat).Where("token = ?", patToken).Scan(r.Context())
4545
if err != nil {
4646
next.ServeHTTP(w, r)
4747
return
@@ -54,7 +54,7 @@ func (p *Pat) Wrap(next http.Handler) http.Handler {
5454

5555
// get user from db
5656
user := types.User{}
57-
err = p.db.NewSelect().Model(&user).Where("id = ?", pat.UserID).Scan(r.Context())
57+
err = p.store.BunDB().NewSelect().Model(&user).Where("id = ?", pat.UserID).Scan(r.Context())
5858
if err != nil {
5959
next.ServeHTTP(w, r)
6060
return
@@ -74,7 +74,7 @@ func (p *Pat) Wrap(next http.Handler) http.Handler {
7474
next.ServeHTTP(w, r)
7575

7676
pat.LastUsed = time.Now().Unix()
77-
_, err = p.db.NewUpdate().Model(&pat).Column("last_used").Where("token = ?", patToken).Where("revoked = false").Exec(r.Context())
77+
_, err = p.store.BunDB().NewUpdate().Model(&pat).Column("last_used").Where("token = ?", patToken).Where("revoked = false").Exec(r.Context())
7878
if err != nil {
7979
zap.L().Error("Failed to update PAT last used in db, err: %v", zap.Error(err))
8080
}

ee/query-service/app/server.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -112,15 +112,15 @@ func NewServer(serverOptions *ServerOptions) (*Server, error) {
112112
return nil, err
113113
}
114114

115-
if err := baseexplorer.InitWithDSN(serverOptions.SigNoz.SQLStore.BunDB()); err != nil {
115+
if err := baseexplorer.InitWithDSN(serverOptions.SigNoz.SQLStore); err != nil {
116116
return nil, err
117117
}
118118

119119
if err := preferences.InitDB(serverOptions.SigNoz.SQLStore.SQLxDB()); err != nil {
120120
return nil, err
121121
}
122122

123-
if err := dashboards.InitDB(serverOptions.SigNoz.SQLStore.BunDB()); err != nil {
123+
if err := dashboards.InitDB(serverOptions.SigNoz.SQLStore); err != nil {
124124
return nil, err
125125
}
126126

@@ -130,7 +130,7 @@ func NewServer(serverOptions *ServerOptions) (*Server, error) {
130130
}
131131

132132
// initiate license manager
133-
lm, err := licensepkg.StartManager(serverOptions.SigNoz.SQLStore.SQLxDB(), serverOptions.SigNoz.SQLStore.BunDB())
133+
lm, err := licensepkg.StartManager(serverOptions.SigNoz.SQLStore.SQLxDB(), serverOptions.SigNoz.SQLStore)
134134
if err != nil {
135135
return nil, err
136136
}
@@ -317,7 +317,7 @@ func (s *Server) createPrivateServer(apiHandler *api.APIHandler) (*http.Server,
317317
r := baseapp.NewRouter()
318318

319319
r.Use(middleware.NewAuth(zap.L(), s.serverOptions.Jwt, []string{"Authorization", "Sec-WebSocket-Protocol"}).Wrap)
320-
r.Use(eemiddleware.NewPat(s.serverOptions.SigNoz.SQLStore.BunDB(), []string{"SIGNOZ-API-KEY"}).Wrap)
320+
r.Use(eemiddleware.NewPat(s.serverOptions.SigNoz.SQLStore, []string{"SIGNOZ-API-KEY"}).Wrap)
321321
r.Use(middleware.NewTimeout(zap.L(),
322322
s.serverOptions.Config.APIServer.Timeout.ExcludedRoutes,
323323
s.serverOptions.Config.APIServer.Timeout.Default,
@@ -365,7 +365,7 @@ func (s *Server) createPublicServer(apiHandler *api.APIHandler, web web.Web) (*h
365365
am := baseapp.NewAuthMiddleware(getUserFromRequest)
366366

367367
r.Use(middleware.NewAuth(zap.L(), s.serverOptions.Jwt, []string{"Authorization", "Sec-WebSocket-Protocol"}).Wrap)
368-
r.Use(eemiddleware.NewPat(s.serverOptions.SigNoz.SQLStore.BunDB(), []string{"SIGNOZ-API-KEY"}).Wrap)
368+
r.Use(eemiddleware.NewPat(s.serverOptions.SigNoz.SQLStore, []string{"SIGNOZ-API-KEY"}).Wrap)
369369
r.Use(middleware.NewTimeout(zap.L(),
370370
s.serverOptions.Config.APIServer.Timeout.ExcludedRoutes,
371371
s.serverOptions.Config.APIServer.Timeout.Default,

ee/query-service/license/db.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,25 +9,25 @@ import (
99

1010
"github.com/jmoiron/sqlx"
1111
"github.com/mattn/go-sqlite3"
12-
"github.com/uptrace/bun"
1312

1413
"github.com/SigNoz/signoz/ee/query-service/model"
1514
basemodel "github.com/SigNoz/signoz/pkg/query-service/model"
15+
"github.com/SigNoz/signoz/pkg/sqlstore"
1616
"github.com/SigNoz/signoz/pkg/types"
1717
"go.uber.org/zap"
1818
)
1919

2020
// Repo is license repo. stores license keys in a secured DB
2121
type Repo struct {
2222
db *sqlx.DB
23-
bundb *bun.DB
23+
store sqlstore.SQLStore
2424
}
2525

2626
// NewLicenseRepo initiates a new license repo
27-
func NewLicenseRepo(db *sqlx.DB, bundb *bun.DB) Repo {
27+
func NewLicenseRepo(db *sqlx.DB, store sqlstore.SQLStore) Repo {
2828
return Repo{
2929
db: db,
30-
bundb: bundb,
30+
store: store,
3131
}
3232
}
3333

@@ -171,7 +171,7 @@ func (r *Repo) UpdateLicenseV3(ctx context.Context, l *model.LicenseV3) error {
171171

172172
func (r *Repo) CreateFeature(req *types.FeatureStatus) *basemodel.ApiError {
173173

174-
_, err := r.bundb.NewInsert().
174+
_, err := r.store.BunDB().NewInsert().
175175
Model(req).
176176
Exec(context.Background())
177177
if err != nil {
@@ -183,7 +183,7 @@ func (r *Repo) CreateFeature(req *types.FeatureStatus) *basemodel.ApiError {
183183
func (r *Repo) GetFeature(featureName string) (types.FeatureStatus, error) {
184184
var feature types.FeatureStatus
185185

186-
err := r.bundb.NewSelect().
186+
err := r.store.BunDB().NewSelect().
187187
Model(&feature).
188188
Where("name = ?", featureName).
189189
Scan(context.Background())
@@ -212,7 +212,7 @@ func (r *Repo) GetAllFeatures() ([]basemodel.Feature, error) {
212212

213213
func (r *Repo) UpdateFeature(req types.FeatureStatus) error {
214214

215-
_, err := r.bundb.NewUpdate().
215+
_, err := r.store.BunDB().NewUpdate().
216216
Model(&req).
217217
Where("name = ?", req.Name).
218218
Exec(context.Background())

ee/query-service/license/manager.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ import (
77

88
"github.com/jmoiron/sqlx"
99
"github.com/pkg/errors"
10-
"github.com/uptrace/bun"
1110

1211
"sync"
1312

1413
baseconstants "github.com/SigNoz/signoz/pkg/query-service/constants"
14+
"github.com/SigNoz/signoz/pkg/sqlstore"
1515
"github.com/SigNoz/signoz/pkg/types"
1616
"github.com/SigNoz/signoz/pkg/types/authtypes"
1717

@@ -45,12 +45,12 @@ type Manager struct {
4545
activeFeatures basemodel.FeatureSet
4646
}
4747

48-
func StartManager(db *sqlx.DB, bundb *bun.DB, features ...basemodel.Feature) (*Manager, error) {
48+
func StartManager(db *sqlx.DB, store sqlstore.SQLStore, features ...basemodel.Feature) (*Manager, error) {
4949
if LM != nil {
5050
return LM, nil
5151
}
5252

53-
repo := NewLicenseRepo(db, bundb)
53+
repo := NewLicenseRepo(db, store)
5454
m := &Manager{
5555
repo: &repo,
5656
}

pkg/query-service/app/dashboards/model.go

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,16 @@ import (
1111

1212
"github.com/SigNoz/signoz/pkg/query-service/interfaces"
1313
"github.com/SigNoz/signoz/pkg/query-service/model"
14+
"github.com/SigNoz/signoz/pkg/sqlstore"
1415
"github.com/SigNoz/signoz/pkg/types"
1516
"github.com/google/uuid"
16-
"github.com/uptrace/bun"
1717

1818
"github.com/SigNoz/signoz/pkg/query-service/telemetry"
1919
"go.uber.org/zap"
2020
)
2121

2222
// This time the global variable is unexported.
23-
var db *bun.DB
23+
var store sqlstore.SQLStore
2424

2525
// User for mapping job,instance from grafana
2626
var (
@@ -33,8 +33,8 @@ var (
3333
)
3434

3535
// InitDB sets up setting up the connection pool global variable.
36-
func InitDB(inputDB *bun.DB) error {
37-
db = inputDB
36+
func InitDB(sqlStore sqlstore.SQLStore) error {
37+
store = sqlStore
3838
telemetry.GetInstance().SetDashboardsInfoCallback(GetDashboardsInfo)
3939

4040
return nil
@@ -57,7 +57,7 @@ func CreateDashboard(ctx context.Context, orgID string, email string, data map[s
5757
dash.UUID = data["uuid"].(string)
5858
}
5959

60-
err := db.NewInsert().Model(dash).Returning("id").Scan(ctx, &dash.ID)
60+
err := store.BunDB().NewInsert().Model(dash).Returning("id").Scan(ctx, &dash.ID)
6161
if err != nil {
6262
zap.L().Error("Error in inserting dashboard data: ", zap.Any("dashboard", dash), zap.Error(err))
6363
return nil, &model.ApiError{Typ: model.ErrorExec, Err: err}
@@ -69,7 +69,7 @@ func CreateDashboard(ctx context.Context, orgID string, email string, data map[s
6969
func GetDashboards(ctx context.Context, orgID string) ([]types.Dashboard, *model.ApiError) {
7070
dashboards := []types.Dashboard{}
7171

72-
err := db.NewSelect().Model(&dashboards).Where("org_id = ?", orgID).Scan(ctx)
72+
err := store.BunDB().NewSelect().Model(&dashboards).Where("org_id = ?", orgID).Scan(ctx)
7373
if err != nil {
7474
return nil, &model.ApiError{Typ: model.ErrorExec, Err: err}
7575
}
@@ -89,7 +89,7 @@ func DeleteDashboard(ctx context.Context, orgID, uuid string, fm interfaces.Feat
8989
return model.BadRequest(fmt.Errorf("dashboard is locked, please unlock the dashboard to be able to delete it"))
9090
}
9191

92-
result, err := db.NewDelete().Model(&types.Dashboard{}).Where("org_id = ?", orgID).Where("uuid = ?", uuid).Exec(ctx)
92+
result, err := store.BunDB().NewDelete().Model(&types.Dashboard{}).Where("org_id = ?", orgID).Where("uuid = ?", uuid).Exec(ctx)
9393
if err != nil {
9494
return &model.ApiError{Typ: model.ErrorExec, Err: err}
9595
}
@@ -108,7 +108,7 @@ func DeleteDashboard(ctx context.Context, orgID, uuid string, fm interfaces.Feat
108108
func GetDashboard(ctx context.Context, orgID, uuid string) (*types.Dashboard, *model.ApiError) {
109109

110110
dashboard := types.Dashboard{}
111-
err := db.NewSelect().Model(&dashboard).Where("org_id = ?", orgID).Where("uuid = ?", uuid).Scan(ctx)
111+
err := store.BunDB().NewSelect().Model(&dashboard).Where("org_id = ?", orgID).Where("uuid = ?", uuid).Scan(ctx)
112112
if err != nil {
113113
return nil, &model.ApiError{Typ: model.ErrorNotFound, Err: fmt.Errorf("no dashboard found with uuid: %s", uuid)}
114114
}
@@ -148,7 +148,7 @@ func UpdateDashboard(ctx context.Context, orgID, userEmail, uuid string, data ma
148148
dashboard.UpdatedBy = userEmail
149149
dashboard.Data = data
150150

151-
_, err = db.NewUpdate().Model(dashboard).Set("updated_at = ?", dashboard.UpdatedAt).Set("updated_by = ?", userEmail).Set("data = ?", mapData).Where("uuid = ?", dashboard.UUID).Exec(ctx)
151+
_, err = store.BunDB().NewUpdate().Model(dashboard).Set("updated_at = ?", dashboard.UpdatedAt).Set("updated_by = ?", userEmail).Set("data = ?", mapData).Where("uuid = ?", dashboard.UUID).Exec(ctx)
152152

153153
if err != nil {
154154
zap.L().Error("Error in inserting dashboard data", zap.Any("data", data), zap.Error(err))
@@ -170,7 +170,7 @@ func LockUnlockDashboard(ctx context.Context, orgID, uuid string, lock bool) *mo
170170
lockValue = 0
171171
}
172172

173-
_, err := db.NewUpdate().Model(dashboard).Set("locked = ?", lockValue).Where("org_id = ?", orgID).Where("uuid = ?", uuid).Exec(ctx)
173+
_, err := store.BunDB().NewUpdate().Model(dashboard).Set("locked = ?", lockValue).Where("org_id = ?", orgID).Where("uuid = ?", uuid).Exec(ctx)
174174
if err != nil {
175175
zap.L().Error("Error in updating dashboard", zap.String("uuid", uuid), zap.Error(err))
176176
return &model.ApiError{Typ: model.ErrorExec, Err: err}
@@ -242,7 +242,7 @@ func GetDashboardsInfo(ctx context.Context) (*model.DashboardsInfo, error) {
242242
dashboardsInfo := model.DashboardsInfo{}
243243
// fetch dashboards from dashboard db
244244
dashboards := []types.Dashboard{}
245-
err := db.NewSelect().Model(&dashboards).Scan(ctx)
245+
err := store.BunDB().NewSelect().Model(&dashboards).Scan(ctx)
246246
if err != nil {
247247
zap.L().Error("Error in processing sql query", zap.Error(err))
248248
return &dashboardsInfo, err
@@ -451,7 +451,7 @@ func countPanelsInDashboard(inputData map[string]interface{}) model.DashboardsIn
451451

452452
func GetDashboardsWithMetricNames(ctx context.Context, orgID string, metricNames []string) (map[string][]map[string]string, *model.ApiError) {
453453
dashboards := []types.Dashboard{}
454-
err := db.NewSelect().Model(&dashboards).Where("org_id = ?", orgID).Scan(ctx)
454+
err := store.BunDB().NewSelect().Model(&dashboards).Where("org_id = ?", orgID).Scan(ctx)
455455
if err != nil {
456456
zap.L().Error("Error in getting dashboards", zap.Error(err))
457457
return nil, &model.ApiError{Typ: model.ErrorExec, Err: err}

pkg/query-service/app/explorer/db.go

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -11,30 +11,30 @@ import (
1111
"github.com/SigNoz/signoz/pkg/query-service/model"
1212
v3 "github.com/SigNoz/signoz/pkg/query-service/model/v3"
1313
"github.com/SigNoz/signoz/pkg/query-service/telemetry"
14+
"github.com/SigNoz/signoz/pkg/sqlstore"
1415
"github.com/SigNoz/signoz/pkg/types"
1516
"github.com/SigNoz/signoz/pkg/types/authtypes"
1617
"github.com/google/uuid"
17-
"github.com/uptrace/bun"
1818
"go.uber.org/zap"
1919
)
2020

21-
var db *bun.DB
21+
var store sqlstore.SQLStore
2222

2323
// InitWithDSN sets up setting up the connection pool global variable.
24-
func InitWithDSN(inputDB *bun.DB) error {
25-
db = inputDB
24+
func InitWithDSN(sqlStore sqlstore.SQLStore) error {
25+
store = sqlStore
2626
telemetry.GetInstance().SetSavedViewsInfoCallback(GetSavedViewsInfo)
2727

2828
return nil
2929
}
3030

31-
func InitWithDB(bunDB *bun.DB) {
32-
db = bunDB
31+
func InitWithDB(sqlStore sqlstore.SQLStore) {
32+
store = sqlStore
3333
}
3434

3535
func GetViews(ctx context.Context, orgID string) ([]*v3.SavedView, error) {
3636
var views []types.SavedView
37-
err := db.NewSelect().Model(&views).Where("org_id = ?", orgID).Scan(ctx)
37+
err := store.BunDB().NewSelect().Model(&views).Where("org_id = ?", orgID).Scan(ctx)
3838
if err != nil {
3939
return nil, fmt.Errorf("error in getting saved views: %s", err.Error())
4040
}
@@ -67,9 +67,9 @@ func GetViewsForFilters(ctx context.Context, orgID string, sourcePage string, na
6767
var views []types.SavedView
6868
var err error
6969
if len(category) == 0 {
70-
err = db.NewSelect().Model(&views).Where("org_id = ? AND source_page = ? AND name LIKE ?", orgID, sourcePage, "%"+name+"%").Scan(ctx)
70+
err = store.BunDB().NewSelect().Model(&views).Where("org_id = ? AND source_page = ? AND name LIKE ?", orgID, sourcePage, "%"+name+"%").Scan(ctx)
7171
} else {
72-
err = db.NewSelect().Model(&views).Where("org_id = ? AND source_page = ? AND category LIKE ? AND name LIKE ?", orgID, sourcePage, "%"+category+"%", "%"+name+"%").Scan(ctx)
72+
err = store.BunDB().NewSelect().Model(&views).Where("org_id = ? AND source_page = ? AND category LIKE ? AND name LIKE ?", orgID, sourcePage, "%"+category+"%", "%"+name+"%").Scan(ctx)
7373
}
7474
if err != nil {
7575
return nil, fmt.Errorf("error in getting saved views: %s", err.Error())
@@ -139,7 +139,7 @@ func CreateView(ctx context.Context, orgID string, view v3.SavedView) (string, e
139139
ExtraData: view.ExtraData,
140140
}
141141

142-
_, err = db.NewInsert().Model(&dbView).Exec(ctx)
142+
_, err = store.BunDB().NewInsert().Model(&dbView).Exec(ctx)
143143
if err != nil {
144144
return "", fmt.Errorf("error in creating saved view: %s", err.Error())
145145
}
@@ -148,7 +148,7 @@ func CreateView(ctx context.Context, orgID string, view v3.SavedView) (string, e
148148

149149
func GetView(ctx context.Context, orgID string, uuid_ string) (*v3.SavedView, error) {
150150
var view types.SavedView
151-
err := db.NewSelect().Model(&view).Where("org_id = ? AND uuid = ?", orgID, uuid_).Scan(ctx)
151+
err := store.BunDB().NewSelect().Model(&view).Where("org_id = ? AND uuid = ?", orgID, uuid_).Scan(ctx)
152152
if err != nil {
153153
return nil, fmt.Errorf("error in getting saved view: %s", err.Error())
154154
}
@@ -187,7 +187,7 @@ func UpdateView(ctx context.Context, orgID string, uuid_ string, view v3.SavedVi
187187
updatedAt := time.Now()
188188
updatedBy := claims.Email
189189

190-
_, err = db.NewUpdate().
190+
_, err = store.BunDB().NewUpdate().
191191
Model(&types.SavedView{}).
192192
Set("updated_at = ?, updated_by = ?, name = ?, category = ?, source_page = ?, tags = ?, data = ?, extra_data = ?",
193193
updatedAt, updatedBy, view.Name, view.Category, view.SourcePage, strings.Join(view.Tags, ","), data, view.ExtraData).
@@ -201,7 +201,7 @@ func UpdateView(ctx context.Context, orgID string, uuid_ string, view v3.SavedVi
201201
}
202202

203203
func DeleteView(ctx context.Context, orgID string, uuid_ string) error {
204-
_, err := db.NewDelete().
204+
_, err := store.BunDB().NewDelete().
205205
Model(&types.SavedView{}).
206206
Where("uuid = ?", uuid_).
207207
Where("org_id = ?", orgID).
@@ -216,7 +216,7 @@ func GetSavedViewsInfo(ctx context.Context) (*model.SavedViewsInfo, error) {
216216
savedViewsInfo := model.SavedViewsInfo{}
217217
// get single org ID from db
218218
var orgIDs []string
219-
err := db.NewSelect().Model((*types.Organization)(nil)).Column("id").Scan(ctx, &orgIDs)
219+
err := store.BunDB().NewSelect().Model((*types.Organization)(nil)).Column("id").Scan(ctx, &orgIDs)
220220
if err != nil {
221221
return nil, fmt.Errorf("error in getting org IDs: %s", err.Error())
222222
}

pkg/query-service/app/server.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,11 +101,11 @@ func NewServer(serverOptions *ServerOptions) (*Server, error) {
101101
return nil, err
102102
}
103103

104-
if err := dashboards.InitDB(serverOptions.SigNoz.SQLStore.BunDB()); err != nil {
104+
if err := dashboards.InitDB(serverOptions.SigNoz.SQLStore); err != nil {
105105
return nil, err
106106
}
107107

108-
if err := explorer.InitWithDSN(serverOptions.SigNoz.SQLStore.BunDB()); err != nil {
108+
if err := explorer.InitWithDSN(serverOptions.SigNoz.SQLStore); err != nil {
109109
return nil, err
110110
}
111111

0 commit comments

Comments
 (0)