{"record":{"id":"1859c75adb522656","repo":"jackc/pgx","slug":"bad-interval-second-format-s","errorCode":null,"errorMessage":"bad interval second format: %s","messagePattern":"bad interval second format: (.+?)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pgtype/interval.go","lineNumber":255,"sourceCode":"\t\t\tnegative = true\n\t\t\ttimeParts[0] = timeParts[0][1:]\n\t\t}\n\n\t\thours, err := strconv.ParseInt(timeParts[0], 10, 64)\n\t\tif err != nil {\n\t\t\treturn fmt.Errorf(\"bad interval hour format: %s\", timeParts[0])\n\t\t}\n\n\t\tminutes, err := strconv.ParseInt(timeParts[1], 10, 64)\n\t\tif err != nil {\n\t\t\treturn fmt.Errorf(\"bad interval minute format: %s\", timeParts[1])\n\t\t}\n\n\t\tsec, secFrac, secFracFound := strings.Cut(timeParts[2], \".\")\n\n\t\tseconds, err := strconv.ParseInt(sec, 10, 64)\n\t\tif err != nil {\n\t\t\treturn fmt.Errorf(\"bad interval second format: %s\", sec)\n\t\t}\n\n\t\tvar uSeconds int64\n\t\tif secFracFound {\n\t\t\tuSeconds, err = strconv.ParseInt(secFrac, 10, 64)\n\t\t\tif err != nil {\n\t\t\t\treturn fmt.Errorf(\"bad interval decimal format: %s\", secFrac)\n\t\t\t}\n\n\t\t\tfor i := 0; i < 6-len(secFrac); i++ {\n\t\t\t\tuSeconds *= 10\n\t\t\t}\n\t\t}\n\n\t\tmicroseconds = hours * microsecondsPerHour\n\t\tmicroseconds += minutes * microsecondsPerMinute\n\t\tmicroseconds += seconds * microsecondsPerSecond\n\t\tmicroseconds += uSeconds","sourceCodeStart":237,"sourceCodeEnd":273,"githubUrl":"https://github.com/jackc/pgx/blob/ec1a0befd22592cffffdeeb0a50311b506372f4c/pgtype/interval.go#L237-L273","documentation":"The interval's HH:MM:SS time component has a seconds field that is not a valid integer (the part before any decimal point). strconv.ParseInt rejected the seconds token; the malformed value is the faulting input.","triggerScenarios":"Thrown at pgtype/interval.go:255 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Fix the time portion to numeric HH:MM:SS format","Regenerate the interval text via PostgreSQL"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"ec1a0befd22592cffffdeeb0a50311b506372f4c","analyzedAt":"2026-08-04T22:52:11.263Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}