jackc/pgx · error

invalid length for Polygon: %v

Error message

invalid length for Polygon: %v

What it means

Error "invalid length for Polygon: %v" thrown in jackc/pgx.

Source

Thrown at pgtype/polygon.go:200

	}

	return scanner.ScanPolygon(Polygon{
		P:     points,
		Valid: true,
	})
}

type scanPlanTextAnyToPolygonScanner struct{}

func (scanPlanTextAnyToPolygonScanner) Scan(src []byte, dst any) error {
	scanner := (dst).(PolygonScanner)

	if src == nil {
		return scanner.ScanPolygon(Polygon{})
	}

	if len(src) < 7 {
		return fmt.Errorf("invalid length for Polygon: %v", len(src))
	}

	points := make([]Vec2, 0)

	// Expected format: ((x1,y1),...,(xn,yn))
	str := string(src[1 : len(src)-1])

	for {
		if len(str) == 0 || str[0] != '(' {
			return fmt.Errorf("invalid format for Polygon")
		}
		body, rest, found := strings.Cut(str[1:], ")")
		if !found {
			return fmt.Errorf("invalid format for Polygon")
		}

		sx, sy, found := strings.Cut(body, ",")
		if !found {

View on GitHub (pinned to ec1a0befd2)

When it happens

Trigger: Thrown at pgtype/polygon.go:200 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/ce463f69b2041b4f.json. Report an issue: GitHub.