From cacdb74e41974a0e45725a816df355a54b665a37 Mon Sep 17 00:00:00 2001 From: Andrew Dunham Date: Wed, 15 Apr 2015 13:51:46 -0700 Subject: [PATCH] Handle errors in more places in HasA Iterator --- graph/iterator/hasa_iterator.go | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/graph/iterator/hasa_iterator.go b/graph/iterator/hasa_iterator.go index f9f555b..037772b 100644 --- a/graph/iterator/hasa_iterator.go +++ b/graph/iterator/hasa_iterator.go @@ -153,7 +153,11 @@ func (it *HasA) Contains(val graph.Value) bool { it.resultIt.Close() } it.resultIt = it.qs.QuadIterator(it.dir, val) - return graph.ContainsLogOut(it, val, it.NextContains()) + ret := it.NextContains() + if it.err != nil { + return false + } + return graph.ContainsLogOut(it, val, ret) } // NextContains() is shared code between Contains() and GetNextResult() -- calls next on the @@ -171,6 +175,9 @@ func (it *HasA) NextContains() bool { return true } } + if err := it.resultIt.Err(); err != nil { + it.err = err + } return false } @@ -188,6 +195,9 @@ func (it *HasA) NextPath() bool { } result := it.NextContains() glog.V(4).Infoln("HASA", it.UID(), "NextPath Returns", result, "") + if it.err != nil { + return false + } return result }