{"id":"febefc1da6c4d802","repo":"jackc/pgx","slug":"cannot-scan-t-febefc","errorCode":null,"errorMessage":"cannot scan %T","messagePattern":"cannot scan %T","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pgtype/uint64.go","lineNumber":59,"sourceCode":"\t\treturn nil\n\t}\n\n\tvar n uint64\n\n\tswitch src := src.(type) {\n\tcase int64:\n\t\tif src < 0 {\n\t\t\treturn fmt.Errorf(\"%d is less than the minimum value for Uint64\", src)\n\t\t}\n\t\tn = uint64(src)\n\tcase string:\n\t\tun, err := strconv.ParseUint(src, 10, 64)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tn = un\n\tdefault:\n\t\treturn fmt.Errorf(\"cannot scan %T\", src)\n\t}\n\n\t*dst = Uint64{Uint64: n, Valid: true}\n\n\treturn nil\n}\n\n// Value implements the [database/sql/driver.Valuer] interface.\nfunc (src Uint64) Value() (driver.Value, error) {\n\tif !src.Valid {\n\t\treturn nil, nil\n\t}\n\n\t// If the value is greater than the maximum value for int64, return it as a string instead of losing data or returning\n\t// an error.\n\tif src.Uint64 > math.MaxInt64 {\n\t\treturn strconv.FormatUint(src.Uint64, 10), nil\n\t}","sourceCodeStart":41,"sourceCodeEnd":77,"githubUrl":"https://github.com/jackc/pgx/blob/ec1a0befd22592cffffdeeb0a50311b506372f4c/pgtype/uint64.go#L41-L77","documentation":"Error \"cannot scan %T\" thrown in jackc/pgx.","triggerScenarios":"Thrown at pgtype/uint64.go:59 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"analyzedSha":"ec1a0befd22592cffffdeeb0a50311b506372f4c","analyzedAt":"2026-08-04T22:52:11.263Z","schemaVersion":2}