jackc/pgx · error

unable to scan OID %d in binary format into %v

Error message

unable to scan OID %d in binary format into %v

What it means

Error "unable to scan OID %d in binary format into %v" thrown in jackc/pgx.

Source

Thrown at pgtype/record_codec.go:58

}

func (plan *scanPlanBinaryRecordToCompositeIndexScanner) Scan(src []byte, target any) error {
	targetScanner := (target).(CompositeIndexScanner)

	if src == nil {
		return targetScanner.ScanNull()
	}

	scanner := NewCompositeBinaryScanner(plan.m, src)
	for i := 0; scanner.Next(); i++ {
		fieldTarget, err := compositeFieldTarget(targetScanner, i)
		if err != nil {
			return err
		}
		if fieldTarget != nil {
			fieldPlan := plan.m.PlanScan(scanner.OID(), BinaryFormatCode, fieldTarget)
			if fieldPlan == nil {
				return fmt.Errorf("unable to scan OID %d in binary format into %v", scanner.OID(), fieldTarget)
			}

			err = fieldPlan.Scan(scanner.Bytes(), fieldTarget)
			if err != nil {
				return err
			}
		}
	}

	if err := scanner.Err(); err != nil {
		return err
	}

	return nil
}

func (RecordCodec) DecodeDatabaseSQLValue(m *Map, oid uint32, format int16, src []byte) (driver.Value, error) {
	if src == nil {

View on GitHub (pinned to ec1a0befd2)

When it happens

Trigger: Thrown at pgtype/record_codec.go:58 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/6830b616934770bc.json. Report an issue: GitHub.