aboutsummaryrefslogtreecommitdiff
path: root/icing/index/lite
diff options
context:
space:
mode:
authorTerry Wang <tytytyww@google.com>2020-10-28 01:36:03 -0700
committerTerry Wang <tytytyww@google.com>2020-10-28 01:36:03 -0700
commit71b8eddc99c6337ff304a2f3cd0588c42239202f (patch)
tree7c54063a7f10e35a282cdfd4cafd369696672fbe /icing/index/lite
parent5abfe5bcac00f4f188d3d8041fa97bf77206b577 (diff)
downloadicing-71b8eddc99c6337ff304a2f3cd0588c42239202f.tar.gz
Pull upstream changes.
Change-Id: I73ea5f80ccf16a02519f6f7ccfc993e9b0f39f86
Diffstat (limited to 'icing/index/lite')
-rw-r--r--icing/index/lite/doc-hit-info-iterator-term-lite.cc9
-rw-r--r--icing/index/lite/lite-index.h5
2 files changed, 13 insertions, 1 deletions
diff --git a/icing/index/lite/doc-hit-info-iterator-term-lite.cc b/icing/index/lite/doc-hit-info-iterator-term-lite.cc
index 1f1c296..d535d7f 100644
--- a/icing/index/lite/doc-hit-info-iterator-term-lite.cc
+++ b/icing/index/lite/doc-hit-info-iterator-term-lite.cc
@@ -21,6 +21,7 @@
#include "icing/absl_ports/str_cat.h"
#include "icing/index/hit/doc-hit-info.h"
#include "icing/schema/section.h"
+#include "icing/util/logging.h"
#include "icing/util/status-macros.h"
namespace icing {
@@ -42,7 +43,13 @@ std::string SectionIdMaskToString(SectionIdMask section_id_mask) {
libtextclassifier3::Status DocHitInfoIteratorTermLite::Advance() {
if (cached_hits_idx_ == -1) {
- ICING_RETURN_IF_ERROR(RetrieveMoreHits());
+ libtextclassifier3::Status status = RetrieveMoreHits();
+ if (!status.ok()) {
+ ICING_LOG(ERROR) << "Failed to retrieve more hits "
+ << status.error_message();
+ return absl_ports::ResourceExhaustedError(
+ "No more DocHitInfos in iterator");
+ }
} else {
++cached_hits_idx_;
}
diff --git a/icing/index/lite/lite-index.h b/icing/index/lite/lite-index.h
index 27ccf33..7b51aa4 100644
--- a/icing/index/lite/lite-index.h
+++ b/icing/index/lite/lite-index.h
@@ -154,6 +154,11 @@ class LiteIndex {
uint32_t size() const { return header_->cur_size(); }
+ bool WantsMerge() const {
+ return size() >= (options_.hit_buffer_want_merge_bytes /
+ sizeof(TermIdHitPair::Value));
+ }
+
class const_iterator {
friend class LiteIndex;