JuliusBrussee/caveman · error
JSON number exceeds PostgreSQL integer-digit limit
Error message
JSON number exceeds PostgreSQL integer-digit limit
What it means
Error "JSON number exceeds PostgreSQL integer-digit limit" thrown in JuliusBrussee/caveman.
Source
Thrown at shared/platform/proposalrun/proposalrun.go:249
return "", fmt.Errorf("JSON number exceeds PostgreSQL fraction-digit limit")
}
digits := strings.TrimLeft(integerPart+fractionPart, "0")
if digits == "" {
return "0", nil
}
scale := len(fractionPart) - exponent
for scale > 0 && strings.HasSuffix(digits, "0") {
digits = digits[:len(digits)-1]
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, nilView on GitHub (pinned to 27d5a3981a)
Solutions
- Reduce the number's integer digits below the PostgreSQL limit.
When it happens
Trigger: Thrown at shared/platform/proposalrun/proposalrun.go:249 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/741d996d7c1c6b8f.
Report an issue: GitHub.