From 9e378302f564f904912df344d62da3c7c21452d1 Mon Sep 17 00:00:00 2001 From: kortschak Date: Mon, 26 Jan 2015 14:53:52 +1030 Subject: [PATCH] Ensure callers get errors when they happen Previously we silently dropped portions or all of a block when a duplicate quad is found. We still fail now, but we tell someone. Fixes #201. --- db/db.go | 12 +++++++++--- writer/single.go | 3 +-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/db/db.go b/db/db.go index b8ad318..a01429e 100644 --- a/db/db.go +++ b/db/db.go @@ -82,15 +82,21 @@ func Load(qw graph.QuadWriter, cfg *config.Config, dec quad.Unmarshaler) error { block = append(block, t) if len(block) == cap(block) { count += len(block) - qw.AddQuadSet(block) + err := qw.AddQuadSet(block) + if err != nil { + return fmt.Errorf("db: failed to load data: %v", err) + } + block = block[:0] if glog.V(2) { glog.V(2).Infof("Wrote %d quads.", count) } - block = block[:0] } } count += len(block) - qw.AddQuadSet(block) + err := qw.AddQuadSet(block) + if err != nil { + return fmt.Errorf("db: failed to load data: %v", err) + } if glog.V(2) { glog.V(2).Infof("Wrote %d quads.", count) } diff --git a/writer/single.go b/writer/single.go index cff4ae9..d6770a5 100644 --- a/writer/single.go +++ b/writer/single.go @@ -55,8 +55,7 @@ func (s *Single) AddQuadSet(set []quad.Quad) error { Timestamp: time.Now(), } } - s.qs.ApplyDeltas(deltas) - return nil + return s.qs.ApplyDeltas(deltas) } func (s *Single) RemoveQuad(q quad.Quad) error {