jackc/pgx · error

multirange: %w

Error message

multirange: %w

What it means

Error "multirange: %w" thrown in jackc/pgx.

Source

Thrown at pgtype/multirange.go:212

	if _, ok := elementScanPlan.(*scanPlanFail); ok {
		return nil
	}

	return &scanPlanMultirangeCodec{
		multirangeCodec: c,
		m:               m,
		oid:             oid,
		formatCode:      format,
	}
}

func (c *MultirangeCodec) decodeBinary(m *Map, multirangeOID uint32, src []byte, multirange MultirangeSetter) error {
	r := pgio.NewReader(src)

	// Each element requires at least 4 bytes for its length prefix.
	elementCount := r.Count(4)
	if err := r.Err(); err != nil {
		return fmt.Errorf("multirange: %w", err)
	}

	err := multirange.SetLen(elementCount)
	if err != nil {
		return err
	}

	if elementCount == 0 {
		return r.Finish()
	}

	elementScanPlan := c.ElementType.Codec.PlanScan(m, c.ElementType.OID, BinaryFormatCode, multirange.ScanIndex(0))
	if elementScanPlan == nil {
		elementScanPlan = m.PlanScan(c.ElementType.OID, BinaryFormatCode, multirange.ScanIndex(0))
	}

	for i := range elementCount {
		elem := multirange.ScanIndex(i)

View on GitHub (pinned to ec1a0befd2)

When it happens

Trigger: Thrown at pgtype/multirange.go:212 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/4bd5052235812d5a.json. Report an issue: GitHub.