{"id":"507bd8324b0b48e4","repo":"jackc/pgx","slug":"rows-is-closed","errorCode":null,"errorMessage":"rows is closed","messagePattern":"rows is closed","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"rows.go","lineNumber":294,"sourceCode":"\t\tif rows.scanTypes[i] != reflect.TypeOf(dst) {\n\t\t\trows.scanPlans[i] = m.PlanScan(fieldDescriptions[i].DataTypeOID, fieldDescriptions[i].Format, dest[i])\n\t\t\trows.scanTypes[i] = reflect.TypeOf(dest[i])\n\t\t}\n\n\t\terr := rows.scanPlans[i].Scan(values[i], dst)\n\t\tif err != nil {\n\t\t\terr = ScanArgError{ColumnIndex: i, FieldName: fieldDescriptions[i].Name, Err: err}\n\t\t\trows.fatal(err)\n\t\t\treturn err\n\t\t}\n\t}\n\n\treturn nil\n}\n\nfunc (rows *baseRows) Values() ([]any, error) {\n\tif rows.closed {\n\t\treturn nil, errors.New(\"rows is closed\")\n\t}\n\n\tvalues := make([]any, 0, len(rows.FieldDescriptions()))\n\n\tfor i := range rows.FieldDescriptions() {\n\t\tbuf := rows.values[i]\n\t\tfd := &rows.FieldDescriptions()[i]\n\n\t\tif buf == nil {\n\t\t\tvalues = append(values, nil)\n\t\t\tcontinue\n\t\t}\n\n\t\tif dt, ok := rows.typeMap.TypeForOID(fd.DataTypeOID); ok {\n\t\t\tvalue, err := dt.Codec.DecodeValue(rows.typeMap, fd.DataTypeOID, fd.Format, buf)\n\t\t\tif err != nil {\n\t\t\t\trows.fatal(err)\n\t\t\t}","sourceCodeStart":276,"sourceCodeEnd":312,"githubUrl":"https://github.com/jackc/pgx/blob/ec1a0befd22592cffffdeeb0a50311b506372f4c/rows.go#L276-L312","documentation":"Error \"rows is closed\" thrown in jackc/pgx.","triggerScenarios":"Thrown at rows.go:294 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}