| Conditions | 7 |
| Total Lines | 31 |
| Code Lines | 19 |
| Lines | 0 |
| Ratio | 0 % |
| Changes | 0 | ||
| 1 | package jsonl |
||
| 60 | func (j *jsonlExport) readAndAppendFile() error { |
||
| 61 | values := make([]interface{}, len(j.columns)) |
||
| 62 | pointers := make([]interface{}, len(j.columns)) |
||
| 63 | for i := range values { |
||
| 64 | pointers[i] = &values[i] |
||
| 65 | } |
||
| 66 | |||
| 67 | if err := j.rows.Scan(pointers...); err != nil { |
||
| 68 | return fmt.Errorf("failed to load row: %w", err) |
||
|
1 ignored issue
–
show
|
|||
| 69 | } |
||
| 70 | |||
| 71 | attr := map[string]interface{}{} |
||
| 72 | for i, c := range j.columns { |
||
| 73 | attr[c] = pointers[i] |
||
| 74 | } |
||
| 75 | |||
| 76 | payload, err := json.Marshal(attr) |
||
| 77 | if err != nil { |
||
| 78 | return fmt.Errorf("failed to serialize row: %w", err) |
||
|
1 ignored issue
–
show
|
|||
| 79 | } |
||
| 80 | |||
| 81 | buffer := new(bytes.Buffer) |
||
| 82 | if err := json.Compact(buffer, payload); err != nil { |
||
| 83 | return fmt.Errorf("failed to compact payload: %w", err) |
||
|
1 ignored issue
–
show
|
|||
| 84 | } |
||
| 85 | |||
| 86 | if _, err := j.file.WriteString(fmt.Sprintf("%s\n", buffer.String())); err != nil { |
||
| 87 | return fmt.Errorf("failed to write file %s: %w", j.exportPath, err) |
||
|
1 ignored issue
–
show
|
|||
| 88 | } |
||
| 89 | |||
| 90 | return nil |
||
| 91 | } |
||
| 127 |