Skip to content

Commit 1e5235f

Browse files
committed
Add more information in errors raised for debugging.
1 parent d5f2aa2 commit 1e5235f

File tree

1 file changed

+14
-14
lines changed

1 file changed

+14
-14
lines changed

internal/database/mariadb.go

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -162,25 +162,25 @@ func (m *MariaDB) resolveAssets(assets []knowledge.AssetKey, registry *AssetRegi
162162

163163
tx, err := m.db.Begin()
164164
if err != nil {
165-
return err
165+
return fmt.Errorf("Unable to begin transaction: %v", err)
166166
}
167167

168168
stmt, err := tx.PrepareContext(context.Background(), "SELECT id FROM assets WHERE type = ? AND value = ?")
169169
if err != nil {
170-
return err
170+
return fmt.Errorf("Unable to prepare statement: %v", err)
171171
}
172172

173173
for _, a := range assets {
174174
q, err := stmt.QueryContext(context.Background(), a.Type, a.Key)
175175
if err != nil {
176-
return err
176+
return fmt.Errorf("Unable to query asset %v: %v", a, err)
177177
}
178178
defer q.Close()
179179

180180
for q.Next() {
181181
var idx int64
182182
if err := q.Scan(&idx); err != nil {
183-
return err
183+
return fmt.Errorf("Unable to retrieve id for %v: %v", a, err)
184184
}
185185
registry.Set(knowledge.AssetKey(a), idx)
186186
}
@@ -231,7 +231,7 @@ INSERT INTO assets (type, value) VALUES (?, ?)`)
231231
}
232232
idx, err := res.LastInsertId()
233233
if err != nil {
234-
return 0, err
234+
return 0, fmt.Errorf("Unable to retrieve last inserted ID: %v", err)
235235
}
236236
registry.Set(knowledge.AssetKey(a), idx)
237237

@@ -297,7 +297,7 @@ func (m *MariaDB) upsertRelations(source string, relations []knowledge.Relation,
297297
}
298298

299299
if err := tx.Commit(); err != nil {
300-
return 0, err
300+
return 0, fmt.Errorf("Unable to commit transaction: %v", err)
301301
}
302302
}
303303
bar.Finish()
@@ -335,7 +335,7 @@ WHERE a.type = ? AND a.value = ? AND b.type = ? AND b.value = ? AND r.type = ? A
335335
bar.Increment()
336336
rCount, err := res.RowsAffected()
337337
if err != nil {
338-
return 0, 0, err
338+
return 0, 0, fmt.Errorf("Unable to count rows affected by relations deletion: %v", err)
339339
}
340340
removedCount += rCount
341341
}
@@ -346,17 +346,17 @@ DELETE a FROM assets a
346346
WHERE id NOT IN (select from_id from relations)
347347
AND id NOT IN (select to_id from relations)`)
348348
if err != nil {
349-
return 0, 0, err
349+
return 0, 0, fmt.Errorf("Unable to delete assets: %v", err)
350350
}
351351

352352
removedAssetsCount, err := res.RowsAffected()
353353
if err != nil {
354-
return 0, 0, err
354+
return 0, 0, fmt.Errorf("Unable to count rows affected by assets deletion: %v", err)
355355
}
356356

357357
err = tx.Commit()
358358
if err != nil {
359-
return 0, 0, err
359+
return 0, 0, fmt.Errorf("Unable to commit transaction of relations deletion: %v", err)
360360
}
361361
return removedCount, removedAssetsCount, err
362362
}
@@ -383,13 +383,13 @@ func (m *MariaDB) UpdateGraph(source string, bulk *knowledge.GraphUpdatesBulk) e
383383
fmt.Println("Start resolving assets")
384384
err := m.resolveAssets(assetKeys, &registry)
385385
if err != nil {
386-
return err
386+
return fmt.Errorf("Unable to resolve assets: %v", err)
387387
}
388388

389389
fmt.Println("Start upserting assets")
390390
count, err := m.upsertAssets(bulk.GetAssetUpserts(), &registry)
391391
if err != nil {
392-
return err
392+
return fmt.Errorf("Unable to upsert assets: %v", err)
393393
}
394394

395395
nowAssetInsert := time.Now()
@@ -398,14 +398,14 @@ func (m *MariaDB) UpdateGraph(source string, bulk *knowledge.GraphUpdatesBulk) e
398398
fmt.Println("Start upserting relations")
399399
count, err = m.upsertRelations(source, bulk.GetRelationUpserts(), &registry)
400400
if err != nil {
401-
return err
401+
return fmt.Errorf("Unable to upsert relations: %v", err)
402402
}
403403
nowRelationInsert := time.Now()
404404
fmt.Printf("%d relations inserted in %fs\n", count, nowRelationInsert.Sub(nowAssetInsert).Seconds())
405405

406406
relCount, assetsCount, err := m.removeRelations(source, bulk.GetRelationRemovals())
407407
if err != nil {
408-
return err
408+
return fmt.Errorf("Unable to remove relations: %v", err)
409409
}
410410
fmt.Printf("%d assets removed and %d relations removed in %fs\n",
411411
assetsCount,

0 commit comments

Comments
 (0)