From 9d608943ccc066d94acf702212c169d02bb055e0 Mon Sep 17 00:00:00 2001 From: Harald Nordgren Date: Thu, 30 Oct 2025 19:13:32 +0100 Subject: [PATCH] fix linter issues --- database/cockroachdb/cockroachdb.go | 4 ++-- database/mysql/mysql.go | 4 ++-- database/pgx/pgx.go | 8 ++++---- database/pgx/v5/pgx.go | 4 ++-- database/postgres/postgres.go | 4 ++-- database/sqlserver/sqlserver.go | 4 ++-- database/testing/testing.go | 1 - database/util.go | 4 ++-- database/util_test.go | 4 ++-- database/yugabytedb/yugabytedb.go | 9 +++++---- migrate_test.go | 5 ----- testing/docker.go | 21 ++++++++++----------- 12 files changed, 33 insertions(+), 39 deletions(-) diff --git a/database/cockroachdb/cockroachdb.go b/database/cockroachdb/cockroachdb.go index 250f907b3..b9d80acb9 100644 --- a/database/cockroachdb/cockroachdb.go +++ b/database/cockroachdb/cockroachdb.go @@ -149,7 +149,7 @@ func (c *CockroachDb) Close() error { func (c *CockroachDb) Lock() error { return database.CasRestoreOnErr(&c.isLocked, false, true, database.ErrLocked, func() (err error) { return crdb.ExecuteTx(context.Background(), c.db, nil, func(tx *sql.Tx) (err error) { - aid, err := database.GenerateAdvisoryLockId(c.config.DatabaseName) + aid, err := database.GenerateAdvisoryLockID(c.config.DatabaseName) if err != nil { return err } @@ -185,7 +185,7 @@ func (c *CockroachDb) Lock() error { // See: https://github.com/cockroachdb/cockroach/issues/13546 func (c *CockroachDb) Unlock() error { return database.CasRestoreOnErr(&c.isLocked, true, false, database.ErrNotLocked, func() (err error) { - aid, err := database.GenerateAdvisoryLockId(c.config.DatabaseName) + aid, err := database.GenerateAdvisoryLockID(c.config.DatabaseName) if err != nil { return err } diff --git a/database/mysql/mysql.go b/database/mysql/mysql.go index 8e807c94b..0ce4c35d3 100644 --- a/database/mysql/mysql.go +++ b/database/mysql/mysql.go @@ -287,7 +287,7 @@ func (m *Mysql) Lock() error { if m.config.NoLock { return nil } - aid, err := database.GenerateAdvisoryLockId( + aid, err := database.GenerateAdvisoryLockID( fmt.Sprintf("%s:%s", m.config.DatabaseName, m.config.MigrationsTable)) if err != nil { return err @@ -313,7 +313,7 @@ func (m *Mysql) Unlock() error { return nil } - aid, err := database.GenerateAdvisoryLockId( + aid, err := database.GenerateAdvisoryLockID( fmt.Sprintf("%s:%s", m.config.DatabaseName, m.config.MigrationsTable)) if err != nil { return err diff --git a/database/pgx/pgx.go b/database/pgx/pgx.go index 98ab5aa18..68e787c4a 100644 --- a/database/pgx/pgx.go +++ b/database/pgx/pgx.go @@ -274,7 +274,7 @@ func (p *Postgres) Unlock() error { // https://www.postgresql.org/docs/9.6/static/explicit-locking.html#ADVISORY-LOCKS func (p *Postgres) applyAdvisoryLock() error { - aid, err := database.GenerateAdvisoryLockId(p.config.DatabaseName, p.config.migrationsSchemaName, p.config.migrationsTableName) + aid, err := database.GenerateAdvisoryLockID(p.config.DatabaseName, p.config.migrationsSchemaName, p.config.migrationsTableName) if err != nil { return err } @@ -299,7 +299,7 @@ func (p *Postgres) applyTableLock() error { } }() - aid, err := database.GenerateAdvisoryLockId(p.config.DatabaseName) + aid, err := database.GenerateAdvisoryLockID(p.config.DatabaseName) if err != nil { return err } @@ -331,7 +331,7 @@ func (p *Postgres) applyTableLock() error { } func (p *Postgres) releaseAdvisoryLock() error { - aid, err := database.GenerateAdvisoryLockId(p.config.DatabaseName, p.config.migrationsSchemaName, p.config.migrationsTableName) + aid, err := database.GenerateAdvisoryLockID(p.config.DatabaseName, p.config.migrationsSchemaName, p.config.migrationsTableName) if err != nil { return err } @@ -345,7 +345,7 @@ func (p *Postgres) releaseAdvisoryLock() error { } func (p *Postgres) releaseTableLock() error { - aid, err := database.GenerateAdvisoryLockId(p.config.DatabaseName) + aid, err := database.GenerateAdvisoryLockID(p.config.DatabaseName) if err != nil { return err } diff --git a/database/pgx/v5/pgx.go b/database/pgx/v5/pgx.go index 3a442a050..ca5e2d761 100644 --- a/database/pgx/v5/pgx.go +++ b/database/pgx/v5/pgx.go @@ -220,7 +220,7 @@ func (p *Postgres) Close() error { // https://www.postgresql.org/docs/9.6/static/explicit-locking.html#ADVISORY-LOCKS func (p *Postgres) Lock() error { return database.CasRestoreOnErr(&p.isLocked, false, true, database.ErrLocked, func() error { - aid, err := database.GenerateAdvisoryLockId(p.config.DatabaseName, p.config.migrationsSchemaName, p.config.migrationsTableName) + aid, err := database.GenerateAdvisoryLockID(p.config.DatabaseName, p.config.migrationsSchemaName, p.config.migrationsTableName) if err != nil { return err } @@ -236,7 +236,7 @@ func (p *Postgres) Lock() error { func (p *Postgres) Unlock() error { return database.CasRestoreOnErr(&p.isLocked, true, false, database.ErrNotLocked, func() error { - aid, err := database.GenerateAdvisoryLockId(p.config.DatabaseName, p.config.migrationsSchemaName, p.config.migrationsTableName) + aid, err := database.GenerateAdvisoryLockID(p.config.DatabaseName, p.config.migrationsSchemaName, p.config.migrationsTableName) if err != nil { return err } diff --git a/database/postgres/postgres.go b/database/postgres/postgres.go index 6b8a77120..d1e7e1221 100644 --- a/database/postgres/postgres.go +++ b/database/postgres/postgres.go @@ -232,7 +232,7 @@ func (p *Postgres) Close() error { // https://www.postgresql.org/docs/9.6/static/explicit-locking.html#ADVISORY-LOCKS func (p *Postgres) Lock() error { return database.CasRestoreOnErr(&p.isLocked, false, true, database.ErrLocked, func() error { - aid, err := database.GenerateAdvisoryLockId(p.config.DatabaseName, p.config.migrationsSchemaName, p.config.migrationsTableName) + aid, err := database.GenerateAdvisoryLockID(p.config.DatabaseName, p.config.migrationsSchemaName, p.config.migrationsTableName) if err != nil { return err } @@ -249,7 +249,7 @@ func (p *Postgres) Lock() error { func (p *Postgres) Unlock() error { return database.CasRestoreOnErr(&p.isLocked, true, false, database.ErrNotLocked, func() error { - aid, err := database.GenerateAdvisoryLockId(p.config.DatabaseName, p.config.migrationsSchemaName, p.config.migrationsTableName) + aid, err := database.GenerateAdvisoryLockID(p.config.DatabaseName, p.config.migrationsSchemaName, p.config.migrationsTableName) if err != nil { return err } diff --git a/database/sqlserver/sqlserver.go b/database/sqlserver/sqlserver.go index 51e1b777a..8c0318aa6 100644 --- a/database/sqlserver/sqlserver.go +++ b/database/sqlserver/sqlserver.go @@ -192,7 +192,7 @@ func (ss *SQLServer) Close() error { // Lock creates an advisory local on the database to prevent multiple migrations from running at the same time. func (ss *SQLServer) Lock() error { return database.CasRestoreOnErr(&ss.isLocked, false, true, database.ErrLocked, func() error { - aid, err := database.GenerateAdvisoryLockId(ss.config.DatabaseName, ss.config.SchemaName) + aid, err := database.GenerateAdvisoryLockID(ss.config.DatabaseName, ss.config.SchemaName) if err != nil { return err } @@ -222,7 +222,7 @@ func (ss *SQLServer) Lock() error { // Unlock froms the migration lock from the database func (ss *SQLServer) Unlock() error { return database.CasRestoreOnErr(&ss.isLocked, true, false, database.ErrNotLocked, func() error { - aid, err := database.GenerateAdvisoryLockId(ss.config.DatabaseName, ss.config.SchemaName) + aid, err := database.GenerateAdvisoryLockID(ss.config.DatabaseName, ss.config.SchemaName) if err != nil { return err } diff --git a/database/testing/testing.go b/database/testing/testing.go index bd3294b1e..e735d2b46 100644 --- a/database/testing/testing.go +++ b/database/testing/testing.go @@ -116,7 +116,6 @@ func TestDrop(t *testing.T, d database.Driver) { } func TestSetVersion(t *testing.T, d database.Driver) { - // nolint:maligned testCases := []struct { name string version int diff --git a/database/util.go b/database/util.go index c60fafb7c..ff000c558 100644 --- a/database/util.go +++ b/database/util.go @@ -9,8 +9,8 @@ import ( const advisoryLockIDSalt uint = 1486364155 -// GenerateAdvisoryLockId inspired by rails migrations, see https://goo.gl/8o9bCT -func GenerateAdvisoryLockId(databaseName string, additionalNames ...string) (string, error) { // nolint: golint +// GenerateAdvisoryLockID inspired by rails migrations, see https://goo.gl/8o9bCT +func GenerateAdvisoryLockID(databaseName string, additionalNames ...string) (string, error) { if len(additionalNames) > 0 { databaseName = strings.Join(append(additionalNames, databaseName), "\x00") } diff --git a/database/util_test.go b/database/util_test.go index 9dfa3223f..13ae46492 100644 --- a/database/util_test.go +++ b/database/util_test.go @@ -6,7 +6,7 @@ import ( "testing" ) -func TestGenerateAdvisoryLockId(t *testing.T) { +func TestGenerateAdvisoryLockID(t *testing.T) { testcases := []struct { dbname string additional []string @@ -35,7 +35,7 @@ func TestGenerateAdvisoryLockId(t *testing.T) { for _, tc := range testcases { t.Run(tc.dbname, func(t *testing.T) { - if id, err := GenerateAdvisoryLockId(tc.dbname, tc.additional...); err == nil { + if id, err := GenerateAdvisoryLockID(tc.dbname, tc.additional...); err == nil { if id != tc.expectedID { t.Error("Generated incorrect ID:", id, "!=", tc.expectedID) } diff --git a/database/yugabytedb/yugabytedb.go b/database/yugabytedb/yugabytedb.go index f5abbf301..3951a93d5 100644 --- a/database/yugabytedb/yugabytedb.go +++ b/database/yugabytedb/yugabytedb.go @@ -194,7 +194,7 @@ func (c *YugabyteDB) Close() error { func (c *YugabyteDB) Lock() error { return database.CasRestoreOnErr(&c.isLocked, false, true, database.ErrLocked, func() (err error) { return c.doTxWithRetry(context.Background(), &sql.TxOptions{Isolation: sql.LevelSerializable}, func(tx *sql.Tx) (err error) { - aid, err := database.GenerateAdvisoryLockId(c.config.DatabaseName) + aid, err := database.GenerateAdvisoryLockID(c.config.DatabaseName) if err != nil { return err } @@ -230,7 +230,7 @@ func (c *YugabyteDB) Lock() error { // See: https://github.com/yugabyte/yugabyte-db/issues/3642 func (c *YugabyteDB) Unlock() error { return database.CasRestoreOnErr(&c.isLocked, true, false, database.ErrNotLocked, func() (err error) { - aid, err := database.GenerateAdvisoryLockId(c.config.DatabaseName) + aid, err := database.GenerateAdvisoryLockID(c.config.DatabaseName) if err != nil { return err } @@ -420,8 +420,9 @@ func (c *YugabyteDB) doTxWithRetry( } // If we've tried to commit the transaction Rollback just returns sql.ErrTxDone. - //nolint:errcheck - defer tx.Rollback() + defer func() { + _ = tx.Rollback() + }() if err := fn(tx); err != nil { if errIsRetryable(err) { diff --git a/migrate_test.go b/migrate_test.go index f2728179e..40c91c88e 100644 --- a/migrate_test.go +++ b/migrate_test.go @@ -1339,11 +1339,6 @@ func newMigSeq(migr ...*Migration) migrationSequence { return migr } -func (m *migrationSequence) add(migr ...*Migration) migrationSequence { // nolint:unused - *m = append(*m, migr...) - return *m -} - func (m *migrationSequence) bodySequence() []string { r := make([]string, 0) for _, v := range *m { diff --git a/testing/docker.go b/testing/docker.go index 5d4e1f0e4..a352c3bf1 100644 --- a/testing/docker.go +++ b/testing/docker.go @@ -200,7 +200,7 @@ func (d *DockerContainer) Logs() (io.ReadCloser, error) { }) } -func (d *DockerContainer) portMapping(selectFirst bool, cPort int) (containerPort uint, hostIP string, hostPort uint, err error) { // nolint:unparam +func (d *DockerContainer) portMapping(selectFirst bool, cPort int) (hostIP string, hostPort uint, err error) { if !d.containerInspected { if err := d.Inspect(); err != nil { d.t.Fatal(err) @@ -212,21 +212,20 @@ func (d *DockerContainer) portMapping(selectFirst bool, cPort int) (containerPor // Skip ahead until we find the port we want continue } - for _, binding := range bindings { - + if len(bindings) > 0 { + binding := bindings[0] hostPortUint, err := strconv.ParseUint(binding.HostPort, 10, 64) if err != nil { - return 0, "", 0, err + return "", 0, err } - - return uint(port.Int()), binding.HostIP, uint(hostPortUint), nil // nolint: staticcheck + return bindings[0].HostIP, uint(hostPortUint), nil } } if selectFirst { - return 0, "", 0, errors.New("no port binding") + return "", 0, errors.New("no port binding") } else { - return 0, "", 0, errors.New("specified port not bound") + return "", 0, errors.New("specified port not bound") } } @@ -234,7 +233,7 @@ func (d *DockerContainer) Host() string { if d == nil { panic("Cannot get host for a nil *DockerContainer") } - _, hostIP, _, err := d.portMapping(true, -1) + hostIP, _, err := d.portMapping(true, -1) if err != nil { d.t.Fatal(err) } @@ -250,7 +249,7 @@ func (d *DockerContainer) Port() uint { if d == nil { panic("Cannot get port for a nil *DockerContainer") } - _, _, port, err := d.portMapping(true, -1) + _, port, err := d.portMapping(true, -1) if err != nil { d.t.Fatal(err) } @@ -261,7 +260,7 @@ func (d *DockerContainer) PortFor(cPort int) uint { if d == nil { panic("Cannot get port for a nil *DockerContainer") } - _, _, port, err := d.portMapping(false, cPort) + _, port, err := d.portMapping(false, cPort) if err != nil { d.t.Fatal(err) }