CI: Bump golangci-lint to 2.0.2 (#103572)
This commit is contained in:
@@ -63,10 +63,11 @@ func (m *seedAssignmentPrimaryKeyMigrator) SQL(dialect migrator.Dialect) string
|
||||
func (m *seedAssignmentPrimaryKeyMigrator) Exec(sess *xorm.Session, mig *migrator.Migrator) error {
|
||||
driver := mig.Dialect.DriverName()
|
||||
|
||||
if driver == migrator.MySQL {
|
||||
switch driver {
|
||||
case migrator.MySQL:
|
||||
_, err := sess.Exec("ALTER TABLE seed_assignment ADD id INT NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY (id)")
|
||||
return err
|
||||
} else if driver == migrator.Postgres {
|
||||
case migrator.Postgres:
|
||||
_, err := sess.Exec("ALTER TABLE seed_assignment ADD COLUMN id SERIAL PRIMARY KEY")
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -289,14 +289,15 @@ func RunDashboardTagMigrations(sess *xorm.Session, driverName string) error {
|
||||
WHERE
|
||||
(dashboard_uid IS NULL OR org_id IS NULL)
|
||||
AND EXISTS (SELECT 1 FROM dashboard WHERE dashboard.id = dashboard_tag.dashboard_id);`
|
||||
if driverName == Postgres {
|
||||
switch driverName {
|
||||
case Postgres:
|
||||
sql = `UPDATE dashboard_tag
|
||||
SET dashboard_uid = dashboard.uid,
|
||||
org_id = dashboard.org_id
|
||||
FROM dashboard
|
||||
WHERE dashboard_tag.dashboard_id = dashboard.id
|
||||
AND (dashboard_tag.dashboard_uid IS NULL OR dashboard_tag.org_id IS NULL);`
|
||||
} else if driverName == MySQL {
|
||||
case MySQL:
|
||||
sql = `UPDATE dashboard_tag
|
||||
LEFT JOIN dashboard ON dashboard_tag.dashboard_id = dashboard.id
|
||||
SET dashboard_tag.dashboard_uid = dashboard.uid,
|
||||
|
||||
@@ -66,7 +66,8 @@ func RunStarMigrations(sess *xorm.Session, driverName string) error {
|
||||
WHERE
|
||||
(dashboard_uid IS NULL OR org_id IS NULL)
|
||||
AND EXISTS (SELECT 1 FROM dashboard WHERE dashboard.id = star.dashboard_id);`
|
||||
if driverName == Postgres {
|
||||
switch driverName {
|
||||
case Postgres:
|
||||
sql = `UPDATE star
|
||||
SET dashboard_uid = dashboard.uid,
|
||||
org_id = dashboard.org_id,
|
||||
@@ -74,14 +75,14 @@ func RunStarMigrations(sess *xorm.Session, driverName string) error {
|
||||
FROM dashboard
|
||||
WHERE star.dashboard_id = dashboard.id
|
||||
AND (star.dashboard_uid IS NULL OR star.org_id IS NULL);`
|
||||
} else if driverName == MySQL {
|
||||
case MySQL:
|
||||
sql = `UPDATE star
|
||||
LEFT JOIN dashboard ON star.dashboard_id = dashboard.id
|
||||
SET star.dashboard_uid = dashboard.uid,
|
||||
star.org_id = dashboard.org_id,
|
||||
star.updated = NOW()
|
||||
WHERE star.dashboard_uid IS NULL OR star.org_id IS NULL;`
|
||||
} else if driverName == Spanner {
|
||||
case Spanner:
|
||||
sql = `UPDATE star
|
||||
SET
|
||||
dashboard_uid = (SELECT uid FROM dashboard WHERE dashboard.id = star.dashboard_id),
|
||||
|
||||
@@ -19,8 +19,8 @@ type MySQLDialect struct {
|
||||
|
||||
func NewMysqlDialect() Dialect {
|
||||
d := MySQLDialect{}
|
||||
d.BaseDialect.dialect = &d
|
||||
d.BaseDialect.driverName = MySQL
|
||||
d.dialect = &d
|
||||
d.driverName = MySQL
|
||||
return &d
|
||||
}
|
||||
|
||||
|
||||
@@ -18,8 +18,8 @@ type PostgresDialect struct {
|
||||
|
||||
func NewPostgresDialect() Dialect {
|
||||
d := PostgresDialect{}
|
||||
d.BaseDialect.dialect = &d
|
||||
d.BaseDialect.driverName = Postgres
|
||||
d.dialect = &d
|
||||
d.driverName = Postgres
|
||||
return &d
|
||||
}
|
||||
|
||||
|
||||
@@ -36,8 +36,8 @@ func init() {
|
||||
|
||||
func NewSpannerDialect() Dialect {
|
||||
d := SpannerDialect{d: core.QueryDialect(Spanner)}
|
||||
d.BaseDialect.dialect = &d
|
||||
d.BaseDialect.driverName = Spanner
|
||||
d.dialect = &d
|
||||
d.driverName = Spanner
|
||||
return &d
|
||||
}
|
||||
|
||||
@@ -172,11 +172,11 @@ func (s *SpannerDialect) CleanDB(engine *xorm.Engine) error {
|
||||
}
|
||||
|
||||
// Collect all DROP statements.
|
||||
var statements []string
|
||||
changeStreams, err := s.findChangeStreams(engine)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
statements := make([]string, 0, len(tables)+len(changeStreams))
|
||||
for _, cs := range changeStreams {
|
||||
statements = append(statements, fmt.Sprintf("DROP CHANGE STREAM `%s`", cs))
|
||||
}
|
||||
@@ -297,6 +297,7 @@ func (s *SpannerDialect) executeDDLStatements(ctx context.Context, engine *xorm.
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to create database admin client: %v", err)
|
||||
}
|
||||
//nolint:errcheck // If the databaseAdminClient.Close fails, we simply don't care.
|
||||
defer databaseAdminClient.Close()
|
||||
|
||||
databaseName := fmt.Sprintf("projects/%s/instances/%s/databases/%s", cfg.Project, cfg.Instance, cfg.Database)
|
||||
@@ -330,6 +331,7 @@ func (s *SpannerDialect) findChangeStreams(engine *xorm.Engine) ([]string, error
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
//nolint:errcheck // If the rows.Close fails, we simply don't care.
|
||||
defer rows.Close()
|
||||
for rows.Next() {
|
||||
var name string
|
||||
|
||||
@@ -16,8 +16,8 @@ type SQLite3 struct {
|
||||
|
||||
func NewSQLite3Dialect() Dialect {
|
||||
d := SQLite3{}
|
||||
d.BaseDialect.dialect = &d
|
||||
d.BaseDialect.driverName = SQLite
|
||||
d.dialect = &d
|
||||
d.driverName = SQLite
|
||||
return &d
|
||||
}
|
||||
|
||||
|
||||
@@ -58,14 +58,15 @@ func NewAccessControlDashboardPermissionFilter(user identity.Requester, permissi
|
||||
var dashboardAction string
|
||||
var folderActionSets []string
|
||||
var dashboardActionSets []string
|
||||
if queryType == searchstore.TypeFolder {
|
||||
switch queryType {
|
||||
case searchstore.TypeFolder:
|
||||
folderAction = dashboards.ActionFoldersRead
|
||||
folderActionSets = []string{"folders:view", "folders:edit", "folders:admin"}
|
||||
if needEdit {
|
||||
folderAction = dashboards.ActionDashboardsCreate
|
||||
folderActionSets = []string{"folders:edit", "folders:admin"}
|
||||
}
|
||||
} else if queryType == searchstore.TypeDashboard {
|
||||
case searchstore.TypeDashboard:
|
||||
dashboardAction = dashboards.ActionDashboardsRead
|
||||
folderActionSets = []string{"folders:view", "folders:edit", "folders:admin"}
|
||||
dashboardActionSets = []string{"dashboards:view", "dashboards:edit", "dashboards:admin"}
|
||||
@@ -74,18 +75,18 @@ func NewAccessControlDashboardPermissionFilter(user identity.Requester, permissi
|
||||
folderActionSets = []string{"folders:edit", "folders:admin"}
|
||||
dashboardActionSets = []string{"dashboards:edit", "dashboards:admin"}
|
||||
}
|
||||
} else if queryType == searchstore.TypeAlertFolder {
|
||||
case searchstore.TypeAlertFolder:
|
||||
folderAction = accesscontrol.ActionAlertingRuleRead
|
||||
folderActionSets = []string{"folders:view", "folders:edit", "folders:admin"}
|
||||
if needEdit {
|
||||
folderAction = accesscontrol.ActionAlertingRuleCreate
|
||||
folderActionSets = []string{"folders:edit", "folders:admin"}
|
||||
}
|
||||
} else if queryType == searchstore.TypeAnnotation {
|
||||
case searchstore.TypeAnnotation:
|
||||
dashboardAction = accesscontrol.ActionAnnotationsRead
|
||||
folderActionSets = []string{"folders:view", "folders:edit", "folders:admin"}
|
||||
dashboardActionSets = []string{"dashboards:view", "dashboards:edit", "dashboards:admin"}
|
||||
} else {
|
||||
default:
|
||||
folderAction = dashboards.ActionFoldersRead
|
||||
dashboardAction = dashboards.ActionDashboardsRead
|
||||
folderActionSets = []string{"folders:view", "folders:edit", "folders:admin"}
|
||||
|
||||
@@ -47,7 +47,7 @@ func startSessionOrUseExisting(ctx context.Context, engine *xorm.Engine, beginTr
|
||||
if ok {
|
||||
ctxLogger := sessionLogger.FromContext(ctx)
|
||||
ctxLogger.Debug("reusing existing session", "transaction", sess.transactionOpen)
|
||||
sess.Session = sess.Session.Context(ctx)
|
||||
sess.Session = sess.Context(ctx)
|
||||
|
||||
// This is a noop span to simplify later operations. purposefully not using existing context
|
||||
_, span := noop.NewTracerProvider().Tracer("integrationtests").Start(ctx, "sqlstore.startSessionOrUseExisting")
|
||||
@@ -67,7 +67,7 @@ func startSessionOrUseExisting(ctx context.Context, engine *xorm.Engine, beginTr
|
||||
return nil, false, span, err
|
||||
}
|
||||
}
|
||||
newSess.Session = newSess.Session.Context(tctx)
|
||||
newSess.Session = newSess.Context(tctx)
|
||||
|
||||
return newSess, true, span, nil
|
||||
}
|
||||
@@ -127,7 +127,7 @@ func (sess *DBSession) InsertId(bean any, dialect migrator.Dialect) error {
|
||||
if err := dialect.PreInsertId(table, sess.Session); err != nil {
|
||||
return err
|
||||
}
|
||||
_, err := sess.Session.InsertOne(bean)
|
||||
_, err := sess.InsertOne(bean)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -101,8 +101,8 @@ func TestIntegration_RetryingOnFailures(t *testing.T) {
|
||||
callback := func(sess *DBSession) error {
|
||||
i++
|
||||
var err error
|
||||
switch {
|
||||
case store.dbCfg.QueryRetries == i:
|
||||
switch store.dbCfg.QueryRetries {
|
||||
case i:
|
||||
err = nil
|
||||
default:
|
||||
err = retryErrors[0]
|
||||
|
||||
@@ -348,7 +348,7 @@ func (ss *SQLStore) ensureTransactionIsolationCompatibility(engine *xorm.Engine,
|
||||
if strings.Contains(mysqlError.Message, "Unknown system variable 'transaction_isolation'") {
|
||||
ss.log.Debug("transaction_isolation system var is unknown, overriding in connection string with tx_isolation instead")
|
||||
// replace with compatible system var for transaction isolation
|
||||
connectionString = strings.Replace(connectionString, "&transaction_isolation", "&tx_isolation", -1)
|
||||
connectionString = strings.ReplaceAll(connectionString, "&transaction_isolation", "&tx_isolation")
|
||||
// recreate the xorm engine with new connection string that is compatible
|
||||
engine, err = xorm.NewEngine(ss.dbCfg.Type, connectionString)
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user