{"id":"4bd5052235812d5a","repo":"jackc/pgx","slug":"multirange-w","errorCode":null,"errorMessage":"multirange: %w","messagePattern":"multirange: %w","errorType":"error_code","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pgtype/multirange.go","lineNumber":212,"sourceCode":"\tif _, ok := elementScanPlan.(*scanPlanFail); ok {\n\t\treturn nil\n\t}\n\n\treturn &scanPlanMultirangeCodec{\n\t\tmultirangeCodec: c,\n\t\tm:               m,\n\t\toid:             oid,\n\t\tformatCode:      format,\n\t}\n}\n\nfunc (c *MultirangeCodec) decodeBinary(m *Map, multirangeOID uint32, src []byte, multirange MultirangeSetter) error {\n\tr := pgio.NewReader(src)\n\n\t// Each element requires at least 4 bytes for its length prefix.\n\telementCount := r.Count(4)\n\tif err := r.Err(); err != nil {\n\t\treturn fmt.Errorf(\"multirange: %w\", err)\n\t}\n\n\terr := multirange.SetLen(elementCount)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tif elementCount == 0 {\n\t\treturn r.Finish()\n\t}\n\n\telementScanPlan := c.ElementType.Codec.PlanScan(m, c.ElementType.OID, BinaryFormatCode, multirange.ScanIndex(0))\n\tif elementScanPlan == nil {\n\t\telementScanPlan = m.PlanScan(c.ElementType.OID, BinaryFormatCode, multirange.ScanIndex(0))\n\t}\n\n\tfor i := range elementCount {\n\t\telem := multirange.ScanIndex(i)","sourceCodeStart":194,"sourceCodeEnd":230,"githubUrl":"https://github.com/jackc/pgx/blob/ec1a0befd22592cffffdeeb0a50311b506372f4c/pgtype/multirange.go#L194-L230","documentation":"Error \"multirange: %w\" thrown in jackc/pgx.","triggerScenarios":"Thrown at pgtype/multirange.go:212 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"analyzedSha":"ec1a0befd22592cffffdeeb0a50311b506372f4c","analyzedAt":"2026-08-04T22:52:11.263Z","schemaVersion":2}