JuliusBrussee/caveman · error

JSON number exceeds PostgreSQL numeric limits

Error message

JSON number exceeds PostgreSQL numeric limits

What it means

Error "JSON number exceeds PostgreSQL numeric limits" thrown in JuliusBrussee/caveman.

Source

Thrown at shared/platform/proposalrun/proposalrun.go:259

		scale--
	}

	var out string
	switch {
	case scale <= 0:
		zeros := -scale
		if zeros > maxJSONBNumericIntegerDigits-len(digits) {
			return "", fmt.Errorf("JSON number exceeds PostgreSQL integer-digit limit")
		}
		out = digits + strings.Repeat("0", zeros)
	case scale >= len(digits):
		if scale > maxJSONBNumericFractionDigits {
			return "", fmt.Errorf("JSON number exceeds PostgreSQL fraction-digit limit")
		}
		out = "0." + strings.Repeat("0", scale-len(digits)) + digits
	default:
		if scale > maxJSONBNumericFractionDigits || len(digits)-scale > maxJSONBNumericIntegerDigits {
			return "", fmt.Errorf("JSON number exceeds PostgreSQL numeric limits")
		}
		point := len(digits) - scale
		out = digits[:point] + "." + digits[point:]
	}
	if negative {
		return "-" + out, nil
	}
	return out, nil
}

func parseJSONExponent(raw string) (int, error) {
	if len(raw) == 0 {
		return 0, fmt.Errorf("invalid JSON number exponent")
	}
	negative := false
	if raw[0] == '+' || raw[0] == '-' {
		negative = raw[0] == '-'
		raw = raw[1:]

View on GitHub (pinned to 27d5a3981a)

Solutions

  1. Use a number within PostgreSQL numeric limits.

When it happens

Trigger: Thrown at shared/platform/proposalrun/proposalrun.go:259 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of JuliusBrussee/caveman@27d5a3981a (2026-08-15). Data as JSON: /api/errors/1cdf13092ee23fc9. Report an issue: GitHub.