Skip to content

Commit cfd733d

Browse files
authored
Merge pull request #2543 from alexandear-org/enable-unconvert
Enable unconvert linter
2 parents c00cd65 + 3f10c33 commit cfd733d

16 files changed

Lines changed: 36 additions & 35 deletions

File tree

.golangci.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ linters:
66
enable:
77
- govet
88
- ineffassign
9+
- unconvert
910

1011
# See: https://golangci-lint.run/usage/formatters/
1112
formatters:

CLAUDE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,5 +69,5 @@ Supporting packages:
6969
- **Context-based** — all blocking operations take `context.Context`.
7070
- **Tracer interfaces** — observability via `QueryTracer`, `BatchTracer`, `CopyFromTracer`, `PrepareTracer` on `ConnConfig.Tracer`.
7171
- **Formatting** — always run `goimports -w .` after making changes to ensure code is properly formatted. CI checks formatting via `gofmt -l -s -w . && git diff --exit-code`. `gofumpt` with extra rules is also enforced via `golangci-lint`.
72-
- **Linters**`govet` and `ineffassign` only (configured in `.golangci.yml`).
72+
- **Linters**`govet`, `ineffassign`, and `unconvert` only (configured in `.golangci.yml`).
7373
- **CI matrix** — tests run against Go 1.25/1.26 × PostgreSQL 14-18 + CockroachDB, on Linux and Windows. Race detector enabled on Linux only.

conn.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -833,7 +833,7 @@ optionLoop:
833833
if resultFormatsByOID != nil {
834834
resultFormats = make([]int16, len(sd.Fields))
835835
for i := range resultFormats {
836-
resultFormats[i] = resultFormatsByOID[uint32(sd.Fields[i].DataTypeOID)]
836+
resultFormats[i] = resultFormatsByOID[sd.Fields[i].DataTypeOID]
837837
}
838838
}
839839

named_args.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ func namedArgState(l *sqlLexer) stateFn {
163163
if _, found := l.nameToOrdinal[na]; !found {
164164
l.nameToOrdinal[na] = len(l.nameToOrdinal) + 1
165165
}
166-
l.parts = append(l.parts, namedArg(na))
166+
l.parts = append(l.parts, na)
167167
l.start = l.pos
168168
return rawState
169169
}

pgconn/pgconn.go

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -475,7 +475,7 @@ func connectOne(ctx context.Context, config *Config, connectConfig *connectOneCo
475475
case *pgproto3.ParameterStatus, *pgproto3.NoticeResponse:
476476
// handled by ReceiveMessage
477477
case *pgproto3.NegotiateProtocolVersion:
478-
serverVersion := pgproto3.ProtocolVersion30&0xFFFF0000 | uint32(msg.NewestMinorProtocol)
478+
serverVersion := pgproto3.ProtocolVersion30&0xFFFF0000 | msg.NewestMinorProtocol
479479
if serverVersion < minProtocolVersion {
480480
pgConn.conn.Close()
481481
return nil, newPerDialConnectError("server protocol version too low", nil)
@@ -1008,22 +1008,22 @@ func ErrorResponseToPgError(msg *pgproto3.ErrorResponse) *PgError {
10081008
return &PgError{
10091009
Severity: msg.Severity,
10101010
SeverityUnlocalized: msg.SeverityUnlocalized,
1011-
Code: string(msg.Code),
1012-
Message: string(msg.Message),
1013-
Detail: string(msg.Detail),
1011+
Code: msg.Code,
1012+
Message: msg.Message,
1013+
Detail: msg.Detail,
10141014
Hint: msg.Hint,
10151015
Position: msg.Position,
10161016
InternalPosition: msg.InternalPosition,
1017-
InternalQuery: string(msg.InternalQuery),
1018-
Where: string(msg.Where),
1019-
SchemaName: string(msg.SchemaName),
1020-
TableName: string(msg.TableName),
1021-
ColumnName: string(msg.ColumnName),
1022-
DataTypeName: string(msg.DataTypeName),
1017+
InternalQuery: msg.InternalQuery,
1018+
Where: msg.Where,
1019+
SchemaName: msg.SchemaName,
1020+
TableName: msg.TableName,
1021+
ColumnName: msg.ColumnName,
1022+
DataTypeName: msg.DataTypeName,
10231023
ConstraintName: msg.ConstraintName,
1024-
File: string(msg.File),
1024+
File: msg.File,
10251025
Line: msg.Line,
1026-
Routine: string(msg.Routine),
1026+
Routine: msg.Routine,
10271027
}
10281028
}
10291029

pgconn/pgconn_test.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3209,23 +3209,23 @@ func TestPipelinePrepare(t *testing.T) {
32093209
sd, ok := results.(*pgconn.StatementDescription)
32103210
require.Truef(t, ok, "expected StatementDescription, got: %#v", results)
32113211
require.Len(t, sd.Fields, 1)
3212-
require.Equal(t, "a", string(sd.Fields[0].Name))
3212+
require.Equal(t, "a", sd.Fields[0].Name)
32133213
require.Equal(t, []uint32{pgtype.Int8OID}, sd.ParamOIDs)
32143214

32153215
results, err = pipeline.GetResults()
32163216
require.NoError(t, err)
32173217
sd, ok = results.(*pgconn.StatementDescription)
32183218
require.Truef(t, ok, "expected StatementDescription, got: %#v", results)
32193219
require.Len(t, sd.Fields, 1)
3220-
require.Equal(t, "b", string(sd.Fields[0].Name))
3220+
require.Equal(t, "b", sd.Fields[0].Name)
32213221
require.Equal(t, []uint32{pgtype.TextOID}, sd.ParamOIDs)
32223222

32233223
results, err = pipeline.GetResults()
32243224
require.NoError(t, err)
32253225
sd, ok = results.(*pgconn.StatementDescription)
32263226
require.Truef(t, ok, "expected StatementDescription, got: %#v", results)
32273227
require.Len(t, sd.Fields, 1)
3228-
require.Equal(t, "c", string(sd.Fields[0].Name))
3228+
require.Equal(t, "c", sd.Fields[0].Name)
32293229
require.Equal(t, []uint32{}, sd.ParamOIDs)
32303230

32313231
results, err = pipeline.GetResults()
@@ -3279,7 +3279,7 @@ func TestPipelinePrepareError(t *testing.T) {
32793279
sd, ok := results.(*pgconn.StatementDescription)
32803280
require.Truef(t, ok, "expected StatementDescription, got: %#v", results)
32813281
require.Len(t, sd.Fields, 1)
3282-
require.Equal(t, "a", string(sd.Fields[0].Name))
3282+
require.Equal(t, "a", sd.Fields[0].Name)
32833283
require.Equal(t, []uint32{pgtype.Int8OID}, sd.ParamOIDs)
32843284

32853285
results, err = pipeline.GetResults()
@@ -3323,7 +3323,7 @@ func TestPipelinePrepareAndDeallocate(t *testing.T) {
33233323
sd, ok := results.(*pgconn.StatementDescription)
33243324
require.Truef(t, ok, "expected StatementDescription, got: %#v", results)
33253325
require.Len(t, sd.Fields, 1)
3326-
require.Equal(t, "a", string(sd.Fields[0].Name))
3326+
require.Equal(t, "a", sd.Fields[0].Name)
33273327
require.Equal(t, []uint32{pgtype.Int8OID}, sd.ParamOIDs)
33283328

33293329
results, err = pipeline.GetResults()
@@ -3460,7 +3460,7 @@ func TestPipelinePrepareQuery(t *testing.T) {
34603460
sd, ok := results.(*pgconn.StatementDescription)
34613461
require.Truef(t, ok, "expected StatementDescription, got: %#v", results)
34623462
require.Len(t, sd.Fields, 1)
3463-
require.Equal(t, "msg", string(sd.Fields[0].Name))
3463+
require.Equal(t, "msg", sd.Fields[0].Name)
34643464
require.Equal(t, []uint32{pgtype.TextOID}, sd.ParamOIDs)
34653465

34663466
results, err = pipeline.GetResults()
@@ -3627,7 +3627,7 @@ func TestPipelineFlushForSingleRequests(t *testing.T) {
36273627
sd, ok := results.(*pgconn.StatementDescription)
36283628
require.Truef(t, ok, "expected StatementDescription, got: %#v", results)
36293629
require.Len(t, sd.Fields, 1)
3630-
require.Equal(t, "msg", string(sd.Fields[0].Name))
3630+
require.Equal(t, "msg", sd.Fields[0].Name)
36313631
require.Equal(t, []uint32{pgtype.TextOID}, sd.ParamOIDs)
36323632

36333633
results, err = pipeline.GetResults()
@@ -3724,7 +3724,7 @@ func TestPipelineFlushForRequestSeries(t *testing.T) {
37243724
sd, ok := results.(*pgconn.StatementDescription)
37253725
require.Truef(t, ok, "expected StatementDescription, got: %#v", results)
37263726
require.Len(t, sd.Fields, 1)
3727-
require.Equal(t, "num", string(sd.Fields[0].Name))
3727+
require.Equal(t, "num", sd.Fields[0].Name)
37283728
require.Equal(t, []uint32{pgtype.Int8OID}, sd.ParamOIDs)
37293729

37303730
results, err = pipeline.GetResults()

pgproto3/close.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ func (dst *Close) UnmarshalJSON(data []byte) error {
7575
return errors.New("invalid length for Close.ObjectType")
7676
}
7777

78-
dst.ObjectType = byte(msg.ObjectType[0])
78+
dst.ObjectType = msg.ObjectType[0]
7979
dst.Name = msg.Name
8080
return nil
8181
}

pgproto3/describe.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ func (dst *Describe) UnmarshalJSON(data []byte) error {
7474
return errors.New("invalid length for Describe.ObjectType")
7575
}
7676

77-
dst.ObjectType = byte(msg.ObjectType[0])
77+
dst.ObjectType = msg.ObjectType[0]
7878
dst.Name = msg.Name
7979
return nil
8080
}

pgtype/float4.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ func (f *Float4) Scan(src any) error {
5050
*f = Float4{Float32: float32(src), Valid: true}
5151
return nil
5252
case string:
53-
n, err := strconv.ParseFloat(string(src), 32)
53+
n, err := strconv.ParseFloat(src, 32)
5454
if err != nil {
5555
return err
5656
}

pgtype/float8.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ func (f *Float8) Scan(src any) error {
5858
*f = Float8{Float64: src, Valid: true}
5959
return nil
6060
case string:
61-
n, err := strconv.ParseFloat(string(src), 64)
61+
n, err := strconv.ParseFloat(src, 64)
6262
if err != nil {
6363
return err
6464
}

0 commit comments

Comments
 (0)