{"record":{"id":"212414336b44b727","repo":"jackc/pgx","slug":"range-w","errorCode":null,"errorMessage":"range: %w","messagePattern":"range: %w","errorType":"error_code","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pgtype/range.go","lineNumber":256,"sourceCode":"\n\tif ubr.LowerType != Unbounded {\n\t\tval, null := r.Value()\n\t\tif null {\n\t\t\treturn nil, fmt.Errorf(\"range lower bound cannot be NULL\")\n\t\t}\n\t\tubr.Lower = val\n\t}\n\n\tif ubr.UpperType != Unbounded {\n\t\tval, null := r.Value()\n\t\tif null {\n\t\t\treturn nil, fmt.Errorf(\"range upper bound cannot be NULL\")\n\t\t}\n\t\tubr.Upper = val\n\t}\n\n\tif err := r.Finish(); err != nil {\n\t\treturn nil, fmt.Errorf(\"range: %w\", err)\n\t}\n\n\treturn ubr, nil\n}\n\n// Range is a generic range type.\ntype Range[T any] struct {\n\tLower     T\n\tUpper     T\n\tLowerType BoundType\n\tUpperType BoundType\n\tValid     bool\n}\n\nfunc (r Range[T]) IsNull() bool {\n\treturn !r.Valid\n}\n","sourceCodeStart":238,"sourceCodeEnd":274,"githubUrl":"https://github.com/jackc/pgx/blob/ec1a0befd22592cffffdeeb0a50311b506372f4c/pgtype/range.go#L238-L274","documentation":"After reading the flags byte and both bound values, the pgio.Reader still has unread bytes (r.Finish() failed). A well-formed binary range consumes its buffer exactly, so trailing data means the payload is malformed.","triggerScenarios":"Thrown at pgtype/range.go:256 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Fail the scan and discard the partially decoded range","Check for transport or codec layers appending bytes to binary values","Capture the payload length to compare against expected size"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"ec1a0befd22592cffffdeeb0a50311b506372f4c","analyzedAt":"2026-08-04T22:52:11.263Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}