{"id":"67807db89686a739","repo":"jackc/pgx","slug":"numeric-incomplete-v","errorCode":null,"errorMessage":"numeric incomplete %v","messagePattern":"numeric incomplete (.+?)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pgtype/numeric.go","lineNumber":654,"sourceCode":"\tif err := r.Err(); err != nil {\n\t\treturn fmt.Errorf(\"numeric incomplete: %w\", err)\n\t}\n\n\tswitch sign {\n\tcase pgNumericNaNSign:\n\t\treturn scanner.ScanNumeric(Numeric{NaN: true, Valid: true})\n\tcase pgNumericPosInfSign:\n\t\treturn scanner.ScanNumeric(Numeric{InfinityModifier: Infinity, Valid: true})\n\tcase pgNumericNegInfSign:\n\t\treturn scanner.ScanNumeric(Numeric{InfinityModifier: NegativeInfinity, Valid: true})\n\t}\n\n\tif ndigits == 0 {\n\t\treturn scanner.ScanNumeric(Numeric{Int: big.NewInt(0), Valid: true})\n\t}\n\n\tif r.Remaining() < int(ndigits)*2 {\n\t\treturn fmt.Errorf(\"numeric incomplete %v\", src)\n\t}\n\n\taccum := &big.Int{}\n\n\t// int(ndigits) before the addition: ndigits is a uint16, so ndigits+3\n\t// would wrap for counts above 65532 and skip the loop entirely.\n\tfor i := 0; i < (int(ndigits)+3)/4; i++ {\n\t\tint64accum, digitsRead := nbaseDigitsToInt64(r, int(ndigits)-i*4)\n\n\t\tif i > 0 {\n\t\t\tvar mul *big.Int\n\t\t\tswitch digitsRead {\n\t\t\tcase 1:\n\t\t\t\tmul = bigNBase\n\t\t\tcase 2:\n\t\t\t\tmul = bigNBaseX2\n\t\t\tcase 3:\n\t\t\t\tmul = bigNBaseX3","sourceCodeStart":636,"sourceCodeEnd":672,"githubUrl":"https://github.com/jackc/pgx/blob/ec1a0befd22592cffffdeeb0a50311b506372f4c/pgtype/numeric.go#L636-L672","documentation":"Error \"numeric incomplete %v\" thrown in jackc/pgx.","triggerScenarios":"Thrown at pgtype/numeric.go:654 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}