jackc/pgx · error
read past end of composite
Error message
read past end of composite
What it means
Error "read past end of composite" thrown in jackc/pgx.
Source
Thrown at pgtype/composite.go:158
for i, field := range plan.cc.Fields {
if scanner.Next() {
fieldTarget, err := compositeFieldTarget(targetScanner, i)
if err != nil {
return err
}
if fieldTarget != nil {
fieldPlan := plan.m.PlanScan(field.Type.OID, BinaryFormatCode, fieldTarget)
if fieldPlan == nil {
return fmt.Errorf("unable to encode %v into OID %d in binary format", field, field.Type.OID)
}
err = fieldPlan.Scan(scanner.Bytes(), fieldTarget)
if err != nil {
return err
}
}
} else {
return errors.New("read past end of composite")
}
}
if err := scanner.Err(); err != nil {
return err
}
return nil
}
type scanPlanTextCompositeToCompositeIndexScanner struct {
cc *CompositeCodec
m *Map
}
func (plan *scanPlanTextCompositeToCompositeIndexScanner) Scan(src []byte, target any) error {
targetScanner := (target).(CompositeIndexScanner)
View on GitHub (pinned to ec1a0befd2)
When it happens
Trigger: Thrown at pgtype/composite.go:158 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/c249841c7de37e01.json.
Report an issue: GitHub.