{"id":"17d0a78bfe3e0a1a","repo":"jackc/pgx","slug":"got-d-values-but-dst-struct-has-only-d-fields","errorCode":null,"errorMessage":"got %d values, but dst struct has only %d fields","messagePattern":"got (.+?) values, but dst struct has only (.+?) fields","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"rows.go","lineNumber":589,"sourceCode":"\n// RowToAddrOfStructByPos returns the address of a T scanned from row. T must be a struct. T must have the same number a\n// public fields as row has fields. The row and T fields will be matched by position. If the \"db\" struct tag is \"-\" then\n// the field will be ignored.\nfunc RowToAddrOfStructByPos[T any](row CollectableRow) (*T, error) {\n\tvar value T\n\terr := (&positionalStructRowScanner{ptrToStruct: &value}).ScanRow(row)\n\treturn &value, err\n}\n\ntype positionalStructRowScanner struct {\n\tptrToStruct any\n}\n\nfunc (rs *positionalStructRowScanner) ScanRow(rows CollectableRow) error {\n\ttyp := reflect.TypeOf(rs.ptrToStruct).Elem()\n\tfields := lookupStructFields(typ)\n\tif len(rows.RawValues()) > len(fields) {\n\t\treturn fmt.Errorf(\n\t\t\t\"got %d values, but dst struct has only %d fields\",\n\t\t\tlen(rows.RawValues()),\n\t\t\tlen(fields),\n\t\t)\n\t}\n\tscanTargets := setupStructScanTargets(rs.ptrToStruct, fields)\n\treturn rows.Scan(scanTargets...)\n}\n\n// Map from reflect.Type -> []structRowField\nvar positionalStructFieldMap sync.Map\n\nfunc lookupStructFields(t reflect.Type) []structRowField {\n\tif cached, ok := positionalStructFieldMap.Load(t); ok {\n\t\treturn cached.([]structRowField)\n\t}\n\n\tfieldStack := make([]int, 0, 1)","sourceCodeStart":571,"sourceCodeEnd":607,"githubUrl":"https://github.com/jackc/pgx/blob/ec1a0befd22592cffffdeeb0a50311b506372f4c/rows.go#L571-L607","documentation":"Error \"got %d values, but dst struct has only %d fields\" thrown in jackc/pgx.","triggerScenarios":"Thrown at rows.go:589 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}