From efe792e91924b0d57c8bbcf3cfad851b87766b97 Mon Sep 17 00:00:00 2001 From: Xi Chen Date: Thu, 31 Jan 2019 18:04:34 -0500 Subject: [PATCH] Address feedback --- index/field/multi_field_union_iterator.go | 2 +- index/in_any_doc_id_set_iterator.go | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/index/field/multi_field_union_iterator.go b/index/field/multi_field_union_iterator.go index d75e932..950b7e7 100644 --- a/index/field/multi_field_union_iterator.go +++ b/index/field/multi_field_union_iterator.go @@ -44,7 +44,7 @@ func (it *MultiFieldUnionIterator) DocID() int32 { return it.unionIter.DocID() } // value array is valid. func (it *MultiFieldUnionIterator) Values() ([]field.ValueUnion, []bool) { for i := 0; i < len(it.iters); i++ { - if it.unionIter.IsDoneAt(i) || it.unionIter.DocID() != it.iters[i].DocID() { + if !it.unionIter.IsValidAt(i) { it.hasVals[i] = false } else { it.hasVals[i] = true diff --git a/index/in_any_doc_id_set_iterator.go b/index/in_any_doc_id_set_iterator.go index 9e61ab3..3aca204 100644 --- a/index/in_any_doc_id_set_iterator.go +++ b/index/in_any_doc_id_set_iterator.go @@ -87,9 +87,10 @@ func (it *InAnyDocIDSetIterator) DocID() int32 { return it.docIDs[it.minDocIDIdx] } -// IsDoneAt returns whether the iterator at a given index is done. -func (it *InAnyDocIDSetIterator) IsDoneAt(idx int) bool { - return it.docIDs[idx] == invalidDocID +// IsValidAt returns true if the base iterator at a given index has the same doc ID +// as the current doc ID of the `InAnyDocIDSetIterator`. +func (it *InAnyDocIDSetIterator) IsValidAt(idx int) bool { + return it.docIDs[idx] != invalidDocID && it.docIDs[idx] == it.DocID() } // Err returns any errors encountered.