jackc/pgx · error

numeric incomplete %v

Error message

numeric incomplete %v

What it means

Error "numeric incomplete %v" thrown in jackc/pgx.

Source

Thrown at pgtype/numeric.go:654

	if err := r.Err(); err != nil {
		return fmt.Errorf("numeric incomplete: %w", err)
	}

	switch sign {
	case pgNumericNaNSign:
		return scanner.ScanNumeric(Numeric{NaN: true, Valid: true})
	case pgNumericPosInfSign:
		return scanner.ScanNumeric(Numeric{InfinityModifier: Infinity, Valid: true})
	case pgNumericNegInfSign:
		return scanner.ScanNumeric(Numeric{InfinityModifier: NegativeInfinity, Valid: true})
	}

	if ndigits == 0 {
		return scanner.ScanNumeric(Numeric{Int: big.NewInt(0), Valid: true})
	}

	if r.Remaining() < int(ndigits)*2 {
		return fmt.Errorf("numeric incomplete %v", src)
	}

	accum := &big.Int{}

	// int(ndigits) before the addition: ndigits is a uint16, so ndigits+3
	// would wrap for counts above 65532 and skip the loop entirely.
	for i := 0; i < (int(ndigits)+3)/4; i++ {
		int64accum, digitsRead := nbaseDigitsToInt64(r, int(ndigits)-i*4)

		if i > 0 {
			var mul *big.Int
			switch digitsRead {
			case 1:
				mul = bigNBase
			case 2:
				mul = bigNBaseX2
			case 3:
				mul = bigNBaseX3

View on GitHub (pinned to ec1a0befd2)

When it happens

Trigger: Thrown at pgtype/numeric.go:654 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of jackc/pgx@ec1a0befd2 (2026-08-04). Data as JSON: /data/errors/67807db89686a739.json. Report an issue: GitHub.