{"record":{"id":"258c9340287c5779","repo":"jackc/pgx","slug":"tid-w","errorCode":null,"errorMessage":"tid: %w","messagePattern":"tid: %w","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pgtype/tid.go","lineNumber":166,"sourceCode":"\treturn nil\n}\n\ntype scanPlanBinaryTIDToTIDScanner struct{}\n\nfunc (scanPlanBinaryTIDToTIDScanner) Scan(src []byte, dst any) error {\n\tscanner := (dst).(TIDScanner)\n\n\tif src == nil {\n\t\treturn scanner.ScanTID(TID{})\n\t}\n\n\tr := pgio.NewReader(src)\n\n\tblockNumber := r.Uint32()\n\toffsetNumber := r.Uint16()\n\n\tif err := r.Finish(); err != nil {\n\t\treturn fmt.Errorf(\"tid: %w\", err)\n\t}\n\n\treturn scanner.ScanTID(TID{\n\t\tBlockNumber:  blockNumber,\n\t\tOffsetNumber: offsetNumber,\n\t\tValid:        true,\n\t})\n}\n\ntype scanPlanBinaryTIDToTextScanner struct{}\n\nfunc (scanPlanBinaryTIDToTextScanner) Scan(src []byte, dst any) error {\n\tscanner := (dst).(TextScanner)\n\n\tif src == nil {\n\t\treturn scanner.ScanText(Text{})\n\t}\n","sourceCodeStart":148,"sourceCodeEnd":184,"githubUrl":"https://github.com/jackc/pgx/blob/ec1a0befd22592cffffdeeb0a50311b506372f4c/pgtype/tid.go#L148-L184","documentation":"After reading the 4-byte block number and 2-byte offset number of a binary tid, the pgio.Reader still had unread bytes. A valid tid is exactly 6 bytes, so r.Finish() failing means the payload is the wrong size.","triggerScenarios":"Thrown at pgtype/tid.go:166 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Reject the malformed tid value","Verify the column is a real tid and the payload was not padded or truncated","Check custom serialization layers for size corruption"],"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"}