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 |