vitessio / vitess

Vitess is a database clustering system for horizontal scaling of MySQL.
http://vitess.io
Apache License 2.0
18.34k stars 2.08k forks source link

staticcheck violations tracking issue #13877

Open ajm188 opened 12 months ago

ajm188 commented 12 months ago

Feature Description

Ideally, staticcheck ./go/... would report 0 violations, this issue is meant to track our violations so we can gradually work down to zero. It's likely too long to fit into the description length limit, so I will add a comment with the current state after opening.

Use Case(s)

Code cleanliness, style issues, cleanup of dead code and deprecated library functions, and so on.

ajm188 commented 12 months ago
go/cache/ristretto/cache.go:167:15: error strings should not be capitalized (ST1005)
go/cmd/mysqlctl/mysqlctl.go:274:20: error strings should not end with punctuation or newlines (ST1005)
go/cmd/vtbackup/vtbackup.go:491:11: error strings should not be capitalized (ST1005)
go/cmd/vtbackup/vtbackup.go:495:11: error strings should not be capitalized (ST1005)
go/cmd/vtbackup/vtbackup.go:499:11: error strings should not be capitalized (ST1005)
go/cmd/vtclient/vtclient.go:200:5: rand.Seed has been deprecated since Go 1.20 and an alternative has been available since Go 1.0: As of Go 1.20 there is no reason to call Seed with a random value. Programs that call Seed with a known value to get a specific sequence of results should use New(NewSource(seed)) to obtain a local random generator.  (SA1019)
go/cmd/vtctldclient/command/schema.go:113:11: error strings should not be capitalized (ST1005)
go/cmd/vtctldclient/command/schema.go:113:11: error strings should not end with punctuation or newlines (ST1005)
go/cmd/vtctldclient/command/shards.go:509:10: error strings should not be capitalized (ST1005)
go/cmd/vtctldclient/command/shards.go:521:11: error strings should not be capitalized (ST1005)
go/cmd/vtctldclient/command/shards.go:563:10: error strings should not be capitalized (ST1005)
go/cmd/vtgate/vtgate.go:59:2: rand.Seed has been deprecated since Go 1.20 and an alternative has been available since Go 1.0: As of Go 1.20 there is no reason to call Seed with a random value. Programs that call Seed with a known value to get a specific sequence of results should use New(NewSource(seed)) to obtain a local random generator.  (SA1019)
go/hack/hack.go:41:11: reflect.SliceHeader has been deprecated since Go 1.21 and an alternative has been available since Go 1.17: Use unsafe.Slice or unsafe.SliceData instead.  (SA1019)
go/hack/hack.go:42:15: reflect.StringHeader has been deprecated since Go 1.21 and an alternative has been available since Go 1.20: Use unsafe.String or unsafe.StringData instead.  (SA1019)
go/hack/runtime.go:38:15: reflect.SliceHeader has been deprecated since Go 1.21 and an alternative has been available since Go 1.17: Use unsafe.Slice or unsafe.SliceData instead.  (SA1019)
go/mysql/collations/charset/convert.go:27:9: error strings should not be capitalized (ST1005)
go/mysql/collations/charset/korean/tables.go:17059:7: const numEncodeTables is unused (U1000)
go/mysql/collations/charset/korean/tables.go:17074:2: identical expressions on the left and right side of the '-' operator (SA4000)
go/mysql/collations/charset/korean/tables.go:21699:2: identical expressions on the left and right side of the '-' operator (SA4000)
go/mysql/collations/charset/korean/tables.go:32876:2: identical expressions on the left and right side of the '-' operator (SA4000)
go/mysql/collations/charset/korean/tables.go:33180:2: identical expressions on the left and right side of the '-' operator (SA4000)
go/mysql/collations/charset/korean/tables.go:33603:2: identical expressions on the left and right side of the '-' operator (SA4000)
go/mysql/collations/charset/korean/tables.go:33779:2: identical expressions on the left and right side of the '-' operator (SA4000)
go/mysql/collations/charset/korean/tables.go:34052:2: identical expressions on the left and right side of the '-' operator (SA4000)
go/mysql/collations/charset/simplifiedchinese/tables.go:22094:7: const numEncodeTables is unused (U1000)
go/mysql/collations/charset/simplifiedchinese/tables.go:22107:2: identical expressions on the left and right side of the '-' operator (SA4000)
go/mysql/collations/charset/simplifiedchinese/tables.go:43363:2: identical expressions on the left and right side of the '-' operator (SA4000)
go/mysql/collations/charset/simplifiedchinese/tables.go:43658:2: identical expressions on the left and right side of the '-' operator (SA4000)
go/mysql/collations/charset/simplifiedchinese/tables.go:43821:2: identical expressions on the left and right side of the '-' operator (SA4000)
go/mysql/collations/charset/simplifiedchinese/tables.go:43978:2: identical expressions on the left and right side of the '-' operator (SA4000)
go/mysql/collations/coercion.go:295:37: error strings should not be capitalized (ST1005)
go/mysql/collations/internal/uca/contractions.go:31:16: func (*trie).walkUTF8 is unused (U1000)
go/mysql/collations/internal/uca/layout.go:298:12: reflect.SliceHeader has been deprecated since Go 1.21 and an alternative has been available since Go 1.17: Use unsafe.Slice or unsafe.SliceData instead.  (SA1019)
go/mysql/collations/internal/uca/layout.go:299:12: reflect.SliceHeader has been deprecated since Go 1.21 and an alternative has been available since Go 1.17: Use unsafe.Slice or unsafe.SliceData instead.  (SA1019)
go/mysql/collations/internal/uca/layout.go:308:12: reflect.SliceHeader has been deprecated since Go 1.21 and an alternative has been available since Go 1.17: Use unsafe.Slice or unsafe.SliceData instead.  (SA1019)
go/mysql/collations/internal/uca/layout.go:309:12: reflect.SliceHeader has been deprecated since Go 1.21 and an alternative has been available since Go 1.17: Use unsafe.Slice or unsafe.SliceData instead.  (SA1019)
go/mysql/collations/mysqlucadata.go:1405:48: reflect.StringHeader has been deprecated since Go 1.21 and an alternative has been available since Go 1.20: Use unsafe.String or unsafe.StringData instead.  (SA1019)
go/mysql/collations/tools/makecolldata/codegen/tablegen.go:129:17: func (*entry).adjustHangulWeights is unused (U1000)
go/mysql/collations/tools/makecolldata/codegen/tablegen.go:142:16: func (*page).equals is unused (U1000)
go/mysql/collations/uca_tables_test.go:99:12: reflect.SliceHeader has been deprecated since Go 1.21 and an alternative has been available since Go 1.17: Use unsafe.Slice or unsafe.SliceData instead.  (SA1019)
go/mysql/collations/wildcard.go:530:4: ineffective break statement. Did you mean to break out of the outer loop? (SA4011)
go/mysql/flavor_filepos.go:250:6: func parseFilePosReplicationStatus is unused (U1000)
go/mysql/flavor_filepos.go:282:14: error strings should not be capitalized (ST1005)
go/mysql/icuregex/internal/normalizer/normalizer.go:80:7: const ixReserved3Offset is unused (U1000)
go/mysql/icuregex/internal/normalizer/normalizer.go:81:7: const ixTotalSize is unused (U1000)
go/mysql/icuregex/internal/normalizer/normalizer.go:107:7: const ixCount is unused (U1000)
go/mysql/icuregex/internal/ucase/loader.go:50:6: func unfold is unused (U1000)
go/mysql/icuregex/internal/uprops/properties.go:390:15: don't use Yoda conditions (ST1017)
go/mysql/icuregex/internal/uprops/properties.go:394:15: don't use Yoda conditions (ST1017)
go/mysql/icuregex/internal/uprops/properties.go:398:15: don't use Yoda conditions (ST1017)
go/mysql/icuregex/internal/uprops/uscript.go:64:2: const invalidCode is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:66:2: const common is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:68:2: const inherited is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:70:2: const arabic is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:72:2: const armenian is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:74:2: const bengali is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:76:2: const bopomofo is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:78:2: const cherokee is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:80:2: const coptic is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:82:2: const cyrillic is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:84:2: const deseret is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:86:2: const devanagari is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:88:2: const ethiopic is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:90:2: const georgian is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:92:2: const gothic is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:94:2: const greek is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:96:2: const gujarati is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:98:2: const gurmukhi is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:100:2: const han is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:102:2: const hangul is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:104:2: const hebrew is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:106:2: const hiragana is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:108:2: const kannada is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:110:2: const katakana is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:112:2: const khmer is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:114:2: const lao is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:116:2: const latin is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:118:2: const malayalam is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:120:2: const mongolian is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:122:2: const myanmar is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:124:2: const ogham is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:126:2: const oldItalic is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:128:2: const oriya is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:130:2: const runic is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:132:2: const sinhala is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:134:2: const syriac is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:136:2: const tamil is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:138:2: const telugu is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:140:2: const thaana is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:142:2: const thai is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:144:2: const tibetan is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:146:2: const canadianAboriginal is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:148:2: const ucas is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:150:2: const yi is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:153:2: const tagalog is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:155:2: const hanunoo is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:157:2: const buhid is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:159:2: const tagbanwa is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:163:2: const braille is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:165:2: const cypriot is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:167:2: const limbu is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:169:2: const linearB is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:171:2: const osmanya is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:173:2: const shavian is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:175:2: const taiLe is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:177:2: const ugaratic is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:180:2: const katakanaOrHiragana is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:184:2: const buginese is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:186:2: const glagolitic is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:188:2: const kharoshthi is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:190:2: const sylotiNagri is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:192:2: const newTaiLue is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:194:2: const tifinagh is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:196:2: const oldPersian is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:200:2: const balinese is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:202:2: const batak is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:204:2: const blissymbols is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:206:2: const brahmi is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:208:2: const cham is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:210:2: const cirth is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:212:2: const oldChurchSlavonicCyrillic is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:214:2: const demoticEgyptian is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:216:2: const hieraticEgyptian is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:218:2: const egyptianHieroglyphs is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:220:2: const khutsuri is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:222:2: const simplfiedHan is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:224:2: const traditionalHan is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:226:2: const pahawhHmong is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:228:2: const oldHungarian is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:230:2: const harappanIndus is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:232:2: const javanese is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:234:2: const kayahLi is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:236:2: const latinFraktur is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:238:2: const latinGaelic is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:240:2: const lepcha is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:242:2: const linearA is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:244:2: const mandaic is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:246:2: const mandaean is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:248:2: const mayanHieroglyphs is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:250:2: const meroiticHieroglyphs is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:252:2: const meroitic is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:254:2: const nko is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:256:2: const orkhon is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:258:2: const oldPermic is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:260:2: const phagsPa is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:262:2: const phoenician is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:264:2: const miao is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:266:2: const phoneticPollard is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:268:2: const rongoRongo is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:270:2: const sarati is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:272:2: const extrangeloSyriac is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:274:2: const westernSyriac is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:276:2: const easternSyriac is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:278:2: const tengwar is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:280:2: const vai is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:282:2: const visibleSpeech is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:284:2: const cuneiform is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:286:2: const unwrittenLanguages is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:288:2: const unknown is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:291:2: const carian is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:293:2: const japanese is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:295:2: const lanna is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:297:2: const lycian is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:299:2: const lydian is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:301:2: const olChiki is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:303:2: const rejang is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:305:2: const saurashtra is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:307:2: const signWriting is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:309:2: const sundanese is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:311:2: const moon is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:313:2: const meiteiMayek is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:316:2: const imperialAramaic is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:318:2: const avestan is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:320:2: const chakma is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:322:2: const korean is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:324:2: const kaithi is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:326:2: const manichaean is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:328:2: const inscriptionalPahlavi is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:330:2: const psalterPahlavi is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:332:2: const bookPahlavi is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:334:2: const inscriptionalParthian is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:336:2: const samaritan is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:338:2: const taiViet is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:340:2: const mathematicalNotation is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:342:2: const symbols is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:345:2: const bamum is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:347:2: const lisu is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:349:2: const nakhiGeba is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:351:2: const oldSouthArabian is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:354:2: const bassaVah is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:356:2: const duployan is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:358:2: const elbasan is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:360:2: const grantha is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:362:2: const kpelle is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:364:2: const loma is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:366:2: const mende is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:368:2: const meroiticCursive is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:370:2: const oldNorthArabian is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:372:2: const nabataean is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:374:2: const palmyrene is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:376:2: const khudawadi is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:378:2: const sindhi is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:380:2: const warangCiti is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:383:2: const afaka is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:385:2: const jurchen is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:387:2: const mro is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:389:2: const nushu is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:391:2: const sharada is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:393:2: const soraSompeng is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:395:2: const takri is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:397:2: const tangut is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:399:2: const woleai is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:402:2: const anatolianHieroglyphs is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:404:2: const khojki is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:406:2: const tirhuta is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:409:2: const caucasianAlbanian is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:411:2: const mahajani is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:414:2: const ahom is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:416:2: const hatran is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:418:2: const modi is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:420:2: const multani is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:422:2: const pauCinHau is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:424:2: const siddham is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:427:2: const adlam is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:429:2: const bhaiksuki is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:431:2: const marchen is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:433:2: const newa is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:435:2: const osage is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:438:2: const hanWithBopomofo is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:440:2: const jamo is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:442:2: const symbolsEmoji is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:445:2: const masaramGondi is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:447:2: const soyombo is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:449:2: const zanabazarSquare is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:452:2: const dogra is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:454:2: const gunjalaGondi is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:456:2: const makasar is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:458:2: const medefaidrin is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:460:2: const hanifiRohingya is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:462:2: const sogdian is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:464:2: const oldSogdian is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:467:2: const elymaic is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:469:2: const nyiakengPuachueHmong is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:471:2: const nandinagari is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:473:2: const wancho is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:476:2: const chorasmian is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:478:2: const divesAkuru is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:480:2: const khitanSmallScript is unused (U1000)
go/mysql/icuregex/internal/uprops/uscript.go:482:2: const yezedi is unused (U1000)
go/mysql/icuregex/internal/utrie/ucptrie.go:78:2: const typeAny is unused (U1000)
go/mysql/icuregex/internal/utrie/ucptrie.go:107:2: const valueBitsAny is unused (U1000)
go/mysql/json/json_path.go:366:18: error strings should not be capitalized (ST1005)
go/mysql/vault/auth_server_vault.go:108:15: error strings should not be capitalized (ST1005)
go/mysql/vault/auth_server_vault.go:112:15: error strings should not be capitalized (ST1005)
go/mysql/vault/auth_server_vault.go:238:10: error strings should not be capitalized (ST1005)
go/mysql/vault/auth_server_vault.go:242:10: error strings should not be capitalized (ST1005)
go/mysql/vault/auth_server_vault.go:247:10: error strings should not be capitalized (ST1005)
go/netutil/netutil.go:33:2: rand.Seed has been deprecated since Go 1.20 and an alternative has been available since Go 1.0: As of Go 1.20 there is no reason to call Seed with a random value. Programs that call Seed with a known value to get a specific sequence of results should use New(NewSource(seed)) to obtain a local random generator.  (SA1019)
go/netutil/netutil.go:197:15: error strings should not be capitalized (ST1005)
go/netutil/netutil.go:230:18: error strings should not be capitalized (ST1005)
go/netutil/netutil.go:235:17: error strings should not be capitalized (ST1005)
go/netutil/netutil_test.go:57:2: rand.Seed has been deprecated since Go 1.20 and an alternative has been available since Go 1.0: As of Go 1.20 there is no reason to call Seed with a random value. Programs that call Seed with a known value to get a specific sequence of results should use New(NewSource(seed)) to obtain a local random generator.  (SA1019)
go/netutil/netutil_test.go:73:2: rand.Seed has been deprecated since Go 1.20 and an alternative has been available since Go 1.0: As of Go 1.20 there is no reason to call Seed with a random value. Programs that call Seed with a known value to get a specific sequence of results should use New(NewSource(seed)) to obtain a local random generator.  (SA1019)
go/sqltypes/named_result.go:27:19: error strings should not be capitalized (ST1005)
go/sqltypes/value.go:49:28: error strings should not be capitalized (ST1005)
go/test/endtoend/backup/vtctlbackup/backup_utils.go:160:74: unnecessary use of fmt.Sprintf (S1039)
go/test/endtoend/cluster/cluster_process.go:738:2: rand.Seed has been deprecated since Go 1.20 and an alternative has been available since Go 1.0: As of Go 1.20 there is no reason to call Seed with a random value. Programs that call Seed with a known value to get a specific sequence of results should use New(NewSource(seed)) to obtain a local random generator.  (SA1019)
go/test/endtoend/messaging/message_test.go:37:2: package "vitess.io/vitess/go/vt/proto/query" is being imported more than once (ST1019)
    go/test/endtoend/messaging/message_test.go:38:2: other import of "vitess.io/vitess/go/vt/proto/query"
go/test/endtoend/onlineddl/vrepl/onlineddl_vrepl_test.go:48:2: var httpClient is unused (U1000)
go/test/endtoend/onlineddl/vrepl_stress_suite/onlineddl_vrepl_stress_suite_test.go:618:4: ineffective break statement. Did you mean to break out of the outer loop? (SA4011)
go/test/endtoend/onlineddl/vtctlutil.go:28:5: var throttlerConfigTimeout is unused (U1000)
go/test/endtoend/onlineddl/vtgate_util.go:375:6: func getHTTPBody is unused (U1000)
go/test/endtoend/recovery/unshardedrecovery/recovery.go:276:4: ineffective break statement. Did you mean to break out of the outer loop? (SA4011)
go/test/endtoend/tabletgateway/buffer/buffer_test_helpers.go:254:2: rand.Seed has been deprecated since Go 1.20 and an alternative has been available since Go 1.0: As of Go 1.20 there is no reason to call Seed with a random value. Programs that call Seed with a known value to get a specific sequence of results should use New(NewSource(seed)) to obtain a local random generator.  (SA1019)
go/test/endtoend/throttler/util.go:82:50: should use time.Until instead of t.Sub(time.Now()) (S1024)
go/test/endtoend/utils/mysql.go:164:10: error strings should not be capitalized (ST1005)
go/test/endtoend/utils/mysql.go:164:10: error strings should not end with punctuation or newlines (ST1005)
go/test/endtoend/utils/mysql.go:168:10: error strings should not end with punctuation or newlines (ST1005)
go/test/endtoend/vault/vault_test.go:55:2: var dbName is unused (U1000)
go/test/endtoend/vault/vault_test.go:56:2: var mysqlUsers is unused (U1000)
go/test/endtoend/vreplication/cluster_test.go:310:2: rand.Seed has been deprecated since Go 1.20 and an alternative has been available since Go 1.0: As of Go 1.20 there is no reason to call Seed with a random value. Programs that call Seed with a known value to get a specific sequence of results should use New(NewSource(seed)) to obtain a local random generator.  (SA1019)
go/test/endtoend/vreplication/helper_test.go:540:6: func getDebugVars is unused (U1000)
go/test/endtoend/vreplication/partial_movetables_seq_test.go:62:2: field tables is unused (U1000)
go/test/endtoend/vreplication/partial_movetables_seq_test.go:70:2: field cellNames is unused (U1000)
go/test/endtoend/vreplication/vdiff_helper_test.go:230:6: func updateTableStats is unused (U1000)
go/test/endtoend/vreplication/vreplication_test.go:627:5: var queryErrorCount is unused (U1000)
go/test/endtoend/vtgate/keyspace_watches/keyspace_watch_test.go:118:2: rand.Seed has been deprecated since Go 1.20 and an alternative has been available since Go 1.0: As of Go 1.20 there is no reason to call Seed with a random value. Programs that call Seed with a known value to get a specific sequence of results should use New(NewSource(seed)) to obtain a local random generator.  (SA1019)
go/test/endtoend/vtgate/queries/random/query_gen.go:100:18: func (*column).getColumnName is unused (U1000)
go/tools/asthelpergen/asthelpergen.go:307:10: strings.Title has been deprecated since Go 1.18 and an alternative has been available since Go 1.0: The rule Title uses for word boundaries does not handle Unicode punctuation properly. Use golang.org/x/text/cases instead.  (SA1019)
go/tools/asthelpergen/copy_on_rewrite_gen.go:135:18: func (*cowGen).copySliceElement is unused (U1000)
go/tools/asthelpergen/integration/types.go:134:2: const thisIsNotAType is unused (U1000)
go/tools/asthelpergen/integration/types.go:135:2: const thisIsNotAType2 is unused (U1000)
go/tools/sizegen/integration/types.go:21:2: field field1 is unused (U1000)
go/tools/sizegen/integration/types.go:22:2: field field2 is unused (U1000)
go/tools/sizegen/integration/types.go:30:2: field field1 is unused (U1000)
go/tools/sizegen/integration/types.go:44:2: field field1 is unused (U1000)
go/tools/sizegen/integration/types.go:45:2: field field2 is unused (U1000)
go/tools/sizegen/integration/types.go:46:2: field field3 is unused (U1000)
go/tools/sizegen/integration/types.go:75:2: field field2 is unused (U1000)
go/trace/trace_test.go:107:22: func (*fakeTracer).assertNoSpanWith is unused (U1000)
go/vt/dbconfigs/credentials.go:212:18: error strings should not be capitalized (ST1005)
go/vt/dbconfigs/credentials.go:217:18: error strings should not be capitalized (ST1005)
go/vt/dbconfigs/credentials.go:221:18: error strings should not be capitalized (ST1005)
go/vt/discovery/topology_watcher_test.go:85:5: ineffective break statement. Did you mean to break out of the outer loop? (SA4011)
go/vt/external/golib/sqlutils/dialect.go:33:7: receiver name should be a reflection of its identity; don't use generic names such as "this" or "self" (ST1006)
go/vt/external/golib/sqlutils/sqlutils.go:43:7: receiver name should be a reflection of its identity; don't use generic names such as "this" or "self" (ST1006)
go/vt/external/golib/sqlutils/sqlutils.go:52:7: receiver name should be a reflection of its identity; don't use generic names such as "this" or "self" (ST1006)
go/vt/external/golib/sqlutils/sqlutils.go:63:7: receiver name should be a reflection of its identity; don't use generic names such as "this" or "self" (ST1006)
go/vt/external/golib/sqlutils/sqlutils.go:71:7: receiver name should be a reflection of its identity; don't use generic names such as "this" or "self" (ST1006)
go/vt/external/golib/sqlutils/sqlutils.go:80:7: receiver name should be a reflection of its identity; don't use generic names such as "this" or "self" (ST1006)
go/vt/external/golib/sqlutils/sqlutils.go:84:7: receiver name should be a reflection of its identity; don't use generic names such as "this" or "self" (ST1006)
go/vt/external/golib/sqlutils/sqlutils.go:89:7: receiver name should be a reflection of its identity; don't use generic names such as "this" or "self" (ST1006)
go/vt/external/golib/sqlutils/sqlutils.go:94:7: receiver name should be a reflection of its identity; don't use generic names such as "this" or "self" (ST1006)
go/vt/external/golib/sqlutils/sqlutils.go:103:7: receiver name should be a reflection of its identity; don't use generic names such as "this" or "self" (ST1006)
go/vt/external/golib/sqlutils/sqlutils.go:108:7: receiver name should be a reflection of its identity; don't use generic names such as "this" or "self" (ST1006)
go/vt/external/golib/sqlutils/sqlutils.go:113:7: receiver name should be a reflection of its identity; don't use generic names such as "this" or "self" (ST1006)
go/vt/external/golib/sqlutils/sqlutils.go:118:7: receiver name should be a reflection of its identity; don't use generic names such as "this" or "self" (ST1006)
go/vt/external/golib/sqlutils/sqlutils.go:123:7: receiver name should be a reflection of its identity; don't use generic names such as "this" or "self" (ST1006)
go/vt/external/golib/sqlutils/sqlutils.go:127:7: receiver name should be a reflection of its identity; don't use generic names such as "this" or "self" (ST1006)
go/vt/mysqlctl/azblobbackupstorage/azblob.go:140:18: error strings should not be capitalized (ST1005)
go/vt/mysqlctl/backup.go:33:2: package "vitess.io/vitess/go/vt/mysqlctl/backupstats" is being imported more than once (ST1019)
    go/vt/mysqlctl/backup.go:40:2: other import of "vitess.io/vitess/go/vt/mysqlctl/backupstats"
go/vt/mysqlctl/backupstats/stats.go:23:2: package "vitess.io/vitess/go/stats" is being imported more than once (ST1019)
    go/vt/mysqlctl/backupstats/stats.go:24:2: other import of "vitess.io/vitess/go/stats"
go/vt/mysqlctl/builtinbackupengine.go:47:2: package "vitess.io/vitess/go/vt/proto/mysqlctl" is being imported more than once (ST1019)
    go/vt/mysqlctl/builtinbackupengine.go:48:2: other import of "vitess.io/vitess/go/vt/proto/mysqlctl"
go/vt/mysqlctl/compression.go:218:9: error strings should not be capitalized (ST1005)
go/vt/mysqlctl/grpcmysqlctlclient/client.go:44:63: grpc.WithInsecure is deprecated: use WithTransportCredentials and insecure.NewCredentials() instead. Will be supported throughout 1.x.  (SA1019)
go/vt/mysqlctl/grpcmysqlctlclient/client.go:44:84: grpc.WithDialer is deprecated: use WithContextDialer instead.  Will be supported throughout 1.x.  (SA1019)
go/vt/mysqlctl/tmutils/schema_test.go:237:3: unnecessary use of fmt.Sprintf (S1039)
go/vt/schema/ddl_strategy.go:108:15: error strings should not be capitalized (ST1005)
go/vt/schema/online_ddl.go:46:23: error strings should not be capitalized (ST1005)
go/vt/schema/online_ddl_test.go:325:7: type expect is unused (U1000)
go/vt/schema/parser.go:87:14: error strings should not be capitalized (ST1005)
go/vt/schema/parser.go:91:14: error strings should not be capitalized (ST1005)
go/vt/schema/tablegc.go:79:14: error strings should not be capitalized (ST1005)
go/vt/schema/tablegc.go:128:19: error strings should not be capitalized (ST1005)
go/vt/schemamanager/tablet_executor.go:86:11: error strings should not be capitalized (ST1005)
go/vt/schemamanager/tablet_executor.go:378:27: error strings should not end with punctuation or newlines (ST1005)
go/vt/servenv/grpc_codec.go:24:2: "github.com/golang/protobuf/proto" is deprecated: Use the "google.golang.org/protobuf/proto" package instead.  (SA1019)
go/vt/sqlparser/ast_funcs.go:2000:6: func isExprAliasForCurrentTimeStamp is unused (U1000)
go/vt/sqlparser/ast_funcs.go:2174:6: func isExprLiteral is unused (U1000)
go/vt/sqlparser/ast_rewriting_test.go:46:2: field txIsolation is unused (U1000)
go/vt/sqlparser/ast_test.go:264:6: don't use Yoda conditions (ST1017)
go/vt/sqlparser/ast_test.go:289:6: don't use Yoda conditions (ST1017)
go/vt/sqlparser/ast_test.go:316:6: don't use Yoda conditions (ST1017)
go/vt/sqlparser/ast_test.go:341:6: don't use Yoda conditions (ST1017)
go/vt/sqlparser/goyacc/goyacc.go:284:5: var zzstate is unused (U1000)
go/vt/sqlparser/goyacc/goyacc.go:348:5: var zznewstate is unused (U1000)
go/vt/sqlparser/parse_test.go:6198:4: should use fmt.Printf instead of fmt.Println(fmt.Sprintf(...)) (but don't forget the newline) (S1038)
go/vt/sqlparser/precedence_test.go:220:2: should use fmt.Printf instead of fmt.Println(fmt.Sprintf(...)) (but don't forget the newline) (S1038)
go/vt/sqlparser/utils.go:30:17: error strings should not be capitalized (ST1005)
go/vt/tableacl/testlib/testlib.go:132:2: rand.Seed has been deprecated since Go 1.20 and an alternative has been available since Go 1.0: As of Go 1.20 there is no reason to call Seed with a random value. Programs that call Seed with a known value to get a specific sequence of results should use New(NewSource(seed)) to obtain a local random generator.  (SA1019)
go/vt/throttler/max_replication_lag_module.go:602:14: unnecessary use of fmt.Sprintf (S1039)
go/vt/tlstest/tlstest.go:351:13: crlList.RevokedCertificates has been deprecated since Go 1.21: Use RevokedCertificateEntries instead.  (SA1019)
go/vt/topo/consultopo/server.go:93:29: unnecessary use of fmt.Sprintf (S1039)
go/vt/topo/memorytopo/file.go:265:3: this linter directive didn't match anything; should it be removed? (staticcheck)
go/vt/topo/memorytopo/memorytopo.go:354:2: rand.Seed has been deprecated since Go 1.20 and an alternative has been available since Go 1.0: As of Go 1.20 there is no reason to call Seed with a random value. Programs that call Seed with a known value to get a specific sequence of results should use New(NewSource(seed)) to obtain a local random generator.  (SA1019)
go/vt/topotools/shard_test.go:112:2: rand.Seed has been deprecated since Go 1.20 and an alternative has been available since Go 1.0: As of Go 1.20 there is no reason to call Seed with a random value. Programs that call Seed with a known value to get a specific sequence of results should use New(NewSource(seed)) to obtain a local random generator.  (SA1019)
go/vt/vtadmin/api.go:1766:15: error strings should not be capitalized (ST1005)
go/vt/vtadmin/api.go:1787:15: error strings should not be capitalized (ST1005)
go/vt/vtadmin/api_authz_test.go:81:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:79:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:100:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:98:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:150:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:148:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:170:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:168:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:221:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:219:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:240:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:238:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:290:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:288:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:314:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:312:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:369:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:367:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:389:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:387:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:440:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:438:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:460:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:458:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:517:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:515:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:540:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:538:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:562:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:560:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:616:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:614:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:630:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:628:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:644:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:642:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:695:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:693:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:711:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:709:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:727:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:725:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:780:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:778:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:794:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:792:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:808:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:806:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:866:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:864:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:879:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:877:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:930:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:928:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:951:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:949:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:973:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:971:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:1019:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:1017:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:1036:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:1034:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:1090:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:1088:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:1104:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:1102:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:1125:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:1123:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:1177:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:1175:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:1202:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:1200:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:1257:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:1255:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:1278:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:1276:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:1306:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:1304:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:1364:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:1362:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:1378:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:1376:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:1399:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:1397:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:1451:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:1449:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:1468:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:1466:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:1522:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:1520:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:1536:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:1534:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:1557:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:1555:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:1609:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:1607:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:1628:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:1626:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:1684:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:1682:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:1698:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:1696:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:1719:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:1717:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:1771:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:1769:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:1788:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:1786:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:1842:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:1840:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:1856:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:1854:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:1877:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:1875:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:1935:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:1933:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:1956:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:1954:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:1978:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:1976:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:2024:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:2022:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:2042:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:2040:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:2097:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:2095:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:2111:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:2109:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:2125:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:2123:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:2170:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:2168:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:2189:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:2187:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:2239:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:2237:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:2259:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:2257:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:2310:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:2308:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:2329:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:2327:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:2379:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:2377:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:2398:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:2396:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:2454:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:2452:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:2473:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:2471:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:2491:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:2489:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:2540:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:2538:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:2559:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:2557:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:2609:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:2607:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:2628:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:2626:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:2678:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:2676:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:2697:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:2695:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:2747:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:2745:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:2766:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:2764:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:2816:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:2814:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:2835:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:2833:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:2885:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:2883:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:2904:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:2902:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:2954:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:2952:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:2978:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:2976:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:3026:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:3024:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:3043:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:3041:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:3091:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:3089:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:3108:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:3106:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:3156:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:3154:13: this is the value of actor
go/vt/vtadmin/api_authz_test.go:3173:6: this nil check is always true (SA4031)
    go/vt/vtadmin/api_authz_test.go:3171:13: this is the value of actor
go/vt/vtadmin/cluster/discovery/discovery_static_file_test.go:26:2: package "vitess.io/vitess/go/vt/proto/vtadmin" is being imported more than once (ST1019)
    go/vt/vtadmin/cluster/discovery/discovery_static_file_test.go:27:2: other import of "vitess.io/vitess/go/vt/proto/vtadmin"
go/vt/vtadmin/cluster/resolver/resolver_test.go:81:27: func (*mockClientConn).assertErrorReportedWithin is unused (U1000)
go/vt/vtadmin/errors/errors.go:38:22: error strings should not be capitalized (ST1005)
go/vt/vtctl/grpcvtctldserver/server.go:1279:4: empty branch (SA9003)
go/vt/vtctl/grpcvtctldserver/server.go:1566:15: error strings should not be capitalized (ST1005)
go/vt/vtctl/reparentutil/promotionrule/promotion_rule.go:49:7: receiver name should be a reflection of its identity; don't use generic names such as "this" or "self" (ST1006)
go/vt/vtctl/reparentutil/promotionrule/promotion_rule.go:66:38: error strings should not be capitalized (ST1005)
go/vt/vtctl/vdiff2.go:168:7: type ErrorResponse is unused (U1000)
go/vt/vtctl/vtctl.go:3062:10: error strings should not be capitalized (ST1005)
go/vt/vtctl/vtctl.go:3065:10: error strings should not be capitalized (ST1005)
go/vt/vtgate/buffer/shard_buffer.go:105:2: field externallyReparented is unused (U1000)
go/vt/vtgate/buffer/shard_buffer.go:516:24: func (*shardBuffer).recordExternallyReparentedTimestamp is unused (U1000)
go/vt/vtgate/endtoend/vstream_test.go:38:2: package "vitess.io/vitess/go/vt/proto/query" is being imported more than once (ST1019)
    go/vt/vtgate/endtoend/vstream_test.go:39:2: other import of "vitess.io/vitess/go/vt/proto/query"
go/vt/vtgate/engine/aggregations.go:32:2: should not use dot imports (ST1001)
go/vt/vtgate/engine/pullout_subquery.go:24:2: should not use dot imports (ST1001)
go/vt/vtgate/engine/scalar_aggregation.go:27:2: should not use dot imports (ST1001)
go/vt/vtgate/evalengine/compiler_test.go:182:6: type debugCompiler is unused (U1000)
go/vt/vtgate/evalengine/compiler_test.go:186:25: func (*debugCompiler).Instruction is unused (U1000)
go/vt/vtgate/evalengine/compiler_test.go:191:25: func (*debugCompiler).Stack is unused (U1000)
go/vt/vtgate/evalengine/eval_json.go:38:19: error strings should not be capitalized (ST1005)
go/vt/vtgate/evalengine/eval_json.go:38:19: error strings should not end with punctuation or newlines (ST1005)
go/vt/vtgate/evalengine/eval_temporal.go:143:24: func (*evalTemporal).toStdTime is unused (U1000)
go/vt/vtgate/evalengine/testcases/inputs.go:165:5: var regexCounters is unused (U1000)
go/vt/vtgate/executor.go:122:2: field truncateErrorLen is unused (U1000)
go/vt/vtgate/planbuilder/builder.go:441:27: func (*tableCollector).addVindexTable is unused (U1000)
go/vt/vtgate/planbuilder/builder.go:452:27: func (*tableCollector).addAllTables is unused (U1000)
go/vt/vtgate/planbuilder/ddl.go:23:6: type fkStrategy is unused (U1000)
go/vt/vtgate/planbuilder/ddl.go:26:2: const fkAllow is unused (U1000)
go/vt/vtgate/planbuilder/ddl.go:27:2: const fkDisallow is unused (U1000)
go/vt/vtgate/planbuilder/ddl.go:30:5: var fkStrategyMap is unused (U1000)
go/vt/vtgate/planbuilder/operators/SQL_builder.go:250:25: func (*queryBuilder).rewriteExprForDerivedTable is unused (U1000)
go/vt/vtgate/planbuilder/operators/SQL_builder.go:266:25: func (*queryBuilder).hasTable is unused (U1000)
go/vt/vtgate/planbuilder/operators/SQL_builder.go:322:19: func (*Horizon).toSQL is unused (U1000)
go/vt/vtgate/planbuilder/operators/horizon.go:75:19: func (*Horizon).findOutputColumn is unused (U1000)
go/vt/vtgate/planbuilder/operators/horizon.go:253:19: func (*Horizon).setQP is unused (U1000)
go/vt/vtgate/planbuilder/operators/querygraph.go:95:23: func (*QueryGraph).collectPredicates is unused (U1000)
go/vt/vtgate/planbuilder/operators/querygraph.go:104:23: func (*QueryGraph).getPredicateByDeps is unused (U1000)
go/vt/vtgate/planbuilder/operators/route_planning.go:552:6: this comparison is never true (SA4023)
    go/vt/vtgate/planbuilder/operators/route_planning.go:551:9: the lhs of the comparison gets its value from here and has a concrete type
go/vt/vtgate/planbuilder/operators/sharded_routing.go:562:27: func (*ShardedRouting).resetRoutingSelections is unused (U1000)
go/vt/vtgate/planbuilder/operators/union.go:39:2: field offsetPlanned is unused (U1000)
go/vt/vtgate/planbuilder/ordered_aggregate.go:55:2: field extraDistinct is unused (U1000)
go/vt/vtgate/planbuilder/pullout_subquery.go:34:2: field order is unused (U1000)
go/vt/vtgate/semantics/early_rewriter.go:594:25: func (*expanderState).createAliasedExpr is unused (U1000)
go/vt/vtgate/semantics/info_schema_gen_test.go:73:2: var informationSchemaTables57 is unused (U1000)
go/vt/vtgate/vcursor_impl_test.go:13:2: package "vitess.io/vitess/go/vt/proto/vschema" is being imported more than once (ST1019)
    go/vt/vtgate/vcursor_impl_test.go:14:2: other import of "vitess.io/vitess/go/vt/proto/vschema"
go/vt/vtgate/vindexes/consistent_lookup.go:32:2: package "vitess.io/vitess/go/vt/proto/vtgate" is being imported more than once (ST1019)
    go/vt/vtgate/vindexes/consistent_lookup.go:33:2: other import of "vitess.io/vitess/go/vt/proto/vtgate"
go/vt/vtgate/vstream_manager_test.go:43:2: package "vitess.io/vitess/go/vt/proto/binlogdata" is being imported more than once (ST1019)
    go/vt/vtgate/vstream_manager_test.go:44:2: other import of "vitess.io/vitess/go/vt/proto/binlogdata"
go/vt/vtorc/collection/collection_test.go:64:2: var twoSeconds is of type time.Duration; don't use unit-specific suffix "Seconds" (ST1011)
go/vt/vtorc/config/config.go:182:18: error strings should not be capitalized (ST1005)
go/vt/vtorc/discovery/queue.go:102:17: func (*Queue).stopMonitoring is unused (U1000)
go/vt/vtorc/inst/binlog.go:136:18: error strings should not be capitalized (ST1005)
go/vt/vtorc/inst/instance_dao.go:49:2: package "vitess.io/vitess/go/vt/vtorc/util" is being imported more than once (ST1019)
    go/vt/vtorc/inst/instance_dao.go:50:2: other import of "vitess.io/vitess/go/vt/vtorc/util"
go/vt/vtorc/inst/instance_dao.go:764:14: error strings should not be capitalized (ST1005)
go/vt/vtorc/inst/oracle_gtid_set_entry.go:43:15: error strings should not be capitalized (ST1005)
go/vt/vtorc/inst/oracle_gtid_set_entry.go:46:15: error strings should not be capitalized (ST1005)
go/vt/vtorc/inst/oracle_gtid_set_entry.go:49:15: error strings should not be capitalized (ST1005)
go/vt/vtorc/logic/tablet_discovery.go:74:9: using time.Tick leaks the underlying ticker, consider using it only in endless functions, tests and the main package, and use time.NewTicker here (SA1015)
go/vt/vtorc/logic/vtorc.go:344:16: using time.Tick leaks the underlying ticker, consider using it only in endless functions, tests and the main package, and use time.NewTicker here (SA1015)
go/vt/vtorc/logic/vtorc.go:345:20: using time.Tick leaks the underlying ticker, consider using it only in endless functions, tests and the main package, and use time.NewTicker here (SA1015)
go/vt/vtorc/logic/vtorc.go:346:18: using time.Tick leaks the underlying ticker, consider using it only in endless functions, tests and the main package, and use time.NewTicker here (SA1015)
go/vt/vtorc/logic/vtorc.go:351:28: using time.Tick leaks the underlying ticker, consider using it only in endless functions, tests and the main package, and use time.NewTicker here (SA1015)
go/vt/vttablet/onlineddl/executor.go:131:2: var throttleCheckFlags is unused (U1000)
go/vt/vttablet/onlineddl/executor.go:1498:10: error strings should not be capitalized (ST1005)
go/vt/vttablet/onlineddl/executor.go:1504:10: error strings should not be capitalized (ST1005)
go/vt/vttablet/onlineddl/executor.go:1712:10: error strings should not be capitalized (ST1005)
go/vt/vttablet/onlineddl/executor.go:1718:10: error strings should not be capitalized (ST1005)
go/vt/vttablet/onlineddl/executor.go:1981:25: error strings should not be capitalized (ST1005)
go/vt/vttablet/onlineddl/executor.go:2011:25: error strings should not be capitalized (ST1005)
go/vt/vttablet/onlineddl/executor.go:2807:20: func (*Executor).renameTableIfApplicable is unused (U1000)
go/vt/vttablet/onlineddl/executor.go:3051:25: error strings should not be capitalized (ST1005)
go/vt/vttablet/onlineddl/executor.go:3447:20: func (*Executor).isVReplMigrationRunning is unused (U1000)
go/vt/vttablet/onlineddl/vrepl.go:199:25: error strings should not be capitalized (ST1005)
go/vt/vttablet/onlineddl/vrepl.go:343:10: error strings should not be capitalized (ST1005)
go/vt/vttablet/onlineddl/vrepl.go:375:10: error strings should not be capitalized (ST1005)
go/vt/vttablet/onlineddl/vrepl.go:382:10: error strings should not be capitalized (ST1005)
go/vt/vttablet/onlineddl/vrepl.go:392:11: error strings should not be capitalized (ST1005)
go/vt/vttablet/onlineddl/vrepl.go:402:11: error strings should not be capitalized (ST1005)
go/vt/vttablet/onlineddl/vrepl.go:406:10: error strings should not be capitalized (ST1005)
go/vt/vttablet/onlineddl/vrepl.go:474:10: error strings should not be capitalized (ST1005)
go/vt/vttablet/tabletmanager/restore.go:642:26: func (*TabletManager).getLocalMetadataValues is unused (U1000)
go/vt/vttablet/tabletmanager/rpc_replication.go:628:26: func (*TabletManager).setReplicationSourceRepairReplication is unused (U1000)
go/vt/vttablet/tabletmanager/rpc_replication.go:997:26: func (*TabletManager).repairReplication is unused (U1000)
go/vt/vttablet/tabletmanager/rpc_vreplication.go:31:2: package "vitess.io/vitess/go/vt/topo/topoproto" is being imported more than once (ST1019)
    go/vt/vttablet/tabletmanager/rpc_vreplication.go:39:2: other import of "vitess.io/vitess/go/vt/topo/topoproto"
go/vt/vttablet/tabletmanager/vdiff/table_differ.go:824:24: func (*tableDiffer).updateTableStats is unused (U1000)
go/vt/vttablet/tabletserver/gc/tablegc.go:88:2: rand.Seed has been deprecated since Go 1.20 and an alternative has been available since Go 1.0: As of Go 1.20 there is no reason to call Seed with a random value. Programs that call Seed with a known value to get a specific sequence of results should use New(NewSource(seed)) to obtain a local random generator.  (SA1019)
go/vt/vttablet/tabletserver/gc/tablegc.go:127:2: field isPrimary is unused (U1000)
go/vt/vttablet/tabletserver/gc/tablegc.go:174:10: error strings should not be capitalized (ST1005)
go/vt/vttablet/tabletserver/messager/message_manager.go:968:27: func (*messageManager).getReceiverCount is unused (U1000)
go/vt/vttablet/tabletserver/tabletserver_test.go:2688:2: rand.Seed has been deprecated since Go 1.20 and an alternative has been available since Go 1.0: As of Go 1.20 there is no reason to call Seed with a random value. Programs that call Seed with a known value to get a specific sequence of results should use New(NewSource(seed)) to obtain a local random generator.  (SA1019)
go/vt/vttablet/tabletserver/throttle/base/throttle_metric.go:24:28: error strings should not be capitalized (ST1005)
go/vt/vttablet/tabletserver/throttle/base/throttle_metric.go:25:22: error strings should not be capitalized (ST1005)
go/vt/vttablet/tabletserver/throttle/base/throttle_metric.go:28:23: error strings should not be capitalized (ST1005)
go/vt/vttablet/tabletserver/throttle/base/throttle_metric.go:31:27: error strings should not be capitalized (ST1005)
go/vt/vttablet/tabletserver/throttle/base/throttle_metric_app.go:14:20: error strings should not be capitalized (ST1005)
go/vt/vttablet/tabletserver/throttle/mysql/instance_key.go:29:15: error strings should not be capitalized (ST1005)
go/vt/vttablet/tabletserver/throttle/mysql/instance_key.go:34:23: error strings should not be capitalized (ST1005)
go/vt/vttablet/tabletserver/throttle/throttler.go:114:2: rand.Seed has been deprecated since Go 1.20 and an alternative has been available since Go 1.0: As of Go 1.20 there is no reason to call Seed with a random value. Programs that call Seed with a known value to get a specific sequence of results should use New(NewSource(seed)) to obtain a local random generator.  (SA1019)
go/vt/vttablet/tabletserver/throttle/throttler.go:565:16: error strings should not be capitalized (ST1005)
go/vt/vttablet/tabletserver/vstreamer/main_flaky_test.go:37:2: var schemaDir is unused (U1000)
go/vt/vttablet/tabletserver/vstreamer/packet_size_test.go:93:4: rand.Seed has been deprecated since Go 1.20 and an alternative has been available since Go 1.0: As of Go 1.20 there is no reason to call Seed with a random value. Programs that call Seed with a known value to get a specific sequence of results should use New(NewSource(seed)) to obtain a local random generator.  (SA1019)
go/vt/vttest/environment.go:305:2: rand.Seed has been deprecated since Go 1.20 and an alternative has been available since Go 1.0: As of Go 1.20 there is no reason to call Seed with a random value. Programs that call Seed with a known value to get a specific sequence of results should use New(NewSource(seed)) to obtain a local random generator.  (SA1019)
go/vt/vttls/crl.go:36:26: crl.RevokedCertificates has been deprecated since Go 1.21: Use RevokedCertificateEntries instead.  (SA1019)
go/vt/vttls/crl.go:58:15: error strings should not be capitalized (ST1005)
go/vt/wrangler/vexec_plan.go:267:16: error strings should not be capitalized (ST1005)
go/vt/wrangler/vexec_plan.go:319:16: error strings should not be capitalized (ST1005)
deepthi commented 12 months ago

golangci-lint includes staticcheck in the default linters, so I'm wondering how these got through that. Any idea? We should prevent lint errors from slipping through in the first place.

The nuance is that according to https://golangci-lint.run/usage/linters/

[staticcheck] It's a set of rules from staticcheck. It's not the same thing as the staticcheck binary. The author of staticcheck doesn't support or approve the use of staticcheck as a library inside golangci-lint.