From 35a96a3a81d45df5c5b534e0b13c7ef298c1fcf3 Mon Sep 17 00:00:00 2001 From: Allon Hadaya Date: Sun, 26 Apr 2015 17:36:20 -0400 Subject: [PATCH] Update in and out predicates to use unique iterator. --- query/gremlin/build_iterator.go | 3 ++- query/gremlin/gremlin_test.go | 7 +++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/query/gremlin/build_iterator.go b/query/gremlin/build_iterator.go index 938c428..1fd3b40 100644 --- a/query/gremlin/build_iterator.go +++ b/query/gremlin/build_iterator.go @@ -145,7 +145,8 @@ func buildInOutPredicateIterator(obj *otto.Object, qs graph.QuadStore, base grap dir = quad.Object } lto := iterator.NewLinksTo(qs, base, dir) - return iterator.NewHasA(qs, lto, quad.Predicate) + hasa := iterator.NewHasA(qs, lto, quad.Predicate) + return iterator.NewUnique(hasa) } func buildIteratorTreeHelper(obj *otto.Object, qs graph.QuadStore, base graph.Iterator) graph.Iterator { diff --git a/query/gremlin/gremlin_test.go b/query/gremlin/gremlin_test.go index 74164a7..5c86b8f 100644 --- a/query/gremlin/gremlin_test.go +++ b/query/gremlin/gremlin_test.go @@ -251,6 +251,13 @@ var testQueries = []struct { expect: []string{"bob", "greg"}, }, { + message: "list all bob's incoming predicates", + query: ` + g.V("bob").InPredicates().All() + `, + expect: []string{"follows"}, + }, + { message: "list all in predicates", query: ` g.V().InPredicates().All()