From ee6d4c8db727849ed2447bdba916f05d02454a2c Mon Sep 17 00:00:00 2001 From: kortschak Date: Wed, 30 Jul 2014 12:14:46 +0930 Subject: [PATCH] Move Size handling out of Base --- graph/iterator/hasa_iterator.go | 4 ++++ graph/iterator/iterator.go | 5 ----- graph/iterator/linksto_iterator.go | 4 ++++ graph/iterator/optional_iterator.go | 5 +++++ graph/iterator/value_comparison_iterator.go | 4 ++++ 5 files changed, 17 insertions(+), 5 deletions(-) diff --git a/graph/iterator/hasa_iterator.go b/graph/iterator/hasa_iterator.go index f883fd7..dc6eb66 100644 --- a/graph/iterator/hasa_iterator.go +++ b/graph/iterator/hasa_iterator.go @@ -240,3 +240,7 @@ func (it *HasA) Close() { // Register this iterator as a HasA. func (it *HasA) Type() graph.Type { return graph.HasA } + +func (it *HasA) Size() (int64, bool) { + return 0, true +} diff --git a/graph/iterator/iterator.go b/graph/iterator/iterator.go index 6ec1533..96153a2 100644 --- a/graph/iterator/iterator.go +++ b/graph/iterator/iterator.go @@ -80,11 +80,6 @@ func (it *Base) Result() graph.Value { return it.Last } -// If you're empty and you know it, clap your hands. -func (it *Base) Size() (int64, bool) { - return 0, true -} - // Accessor func (it *Base) CanNext() bool { return it.canNext } diff --git a/graph/iterator/linksto_iterator.go b/graph/iterator/linksto_iterator.go index e61dc09..403a799 100644 --- a/graph/iterator/linksto_iterator.go +++ b/graph/iterator/linksto_iterator.go @@ -200,3 +200,7 @@ func (it *LinksTo) Stats() graph.IteratorStats { Size: fanoutFactor * subitStats.Size, } } + +func (it *LinksTo) Size() (int64, bool) { + return 0, true +} diff --git a/graph/iterator/optional_iterator.go b/graph/iterator/optional_iterator.go index fa9396d..5dec887 100644 --- a/graph/iterator/optional_iterator.go +++ b/graph/iterator/optional_iterator.go @@ -151,3 +151,8 @@ func (it *Optional) Stats() graph.IteratorStats { Size: subStats.Size, } } + +// If you're empty and you know it, clap your hands. +func (it *Optional) Size() (int64, bool) { + return 0, true +} diff --git a/graph/iterator/value_comparison_iterator.go b/graph/iterator/value_comparison_iterator.go index c0631fe..e75e658 100644 --- a/graph/iterator/value_comparison_iterator.go +++ b/graph/iterator/value_comparison_iterator.go @@ -212,3 +212,7 @@ func (it *Comparison) Optimize() (graph.Iterator, bool) { func (it *Comparison) Stats() graph.IteratorStats { return it.subIt.Stats() } + +func (it *Base) Size() (int64, bool) { + return 0, true +}