diff options
author | Tim Barron <tjbarron@google.com> | 2023-06-02 06:14:34 +0000 |
---|---|---|
committer | Tim Barron <tjbarron@google.com> | 2023-06-02 06:14:34 +0000 |
commit | b87146567e78489269a627348e7ba98e97530faa (patch) | |
tree | 3982f63f9e8f46d5a4484c9e915ef14db1aa817f /icing/query/advanced_query_parser | |
parent | 818e087b7b1108bc871bbe462d7d8fbf83d82d00 (diff) | |
download | icing-b87146567e78489269a627348e7ba98e97530faa.tar.gz |
Update Icing from upstream.
Descriptions:
========================================================================
Eliminate unnecessary GetCurrentTime syscalls in various hotspots.
========================================================================
Fix MSAN failure in SchemaStore::Header::Write.
========================================================================
Bug: 282308801
Change-Id: Ifb11f890485329e6b0bc1a9cbf2bf046e39b7854
Diffstat (limited to 'icing/query/advanced_query_parser')
-rw-r--r-- | icing/query/advanced_query_parser/query-visitor.cc | 27 | ||||
-rw-r--r-- | icing/query/advanced_query_parser/query-visitor.h | 27 | ||||
-rw-r--r-- | icing/query/advanced_query_parser/query-visitor_test.cc | 176 |
3 files changed, 119 insertions, 111 deletions
diff --git a/icing/query/advanced_query_parser/query-visitor.cc b/icing/query/advanced_query_parser/query-visitor.cc index 664b072..d75a550 100644 --- a/icing/query/advanced_query_parser/query-visitor.cc +++ b/icing/query/advanced_query_parser/query-visitor.cc @@ -183,7 +183,7 @@ QueryVisitor::CreateTermIterator(const QueryTerm& query_term) { query_term_iterators_[query_term.term] = std::make_unique<DocHitInfoIteratorFilter>( std::move(term_iterator), &document_store_, &schema_store_, - filter_options_); + filter_options_, current_time_ms_); } } @@ -265,11 +265,11 @@ libtextclassifier3::StatusOr<PendingValue> QueryVisitor::SearchFunction( iterator = std::make_unique<DocHitInfoIteratorAllDocumentId>( document_store_.last_added_document_id()); } else { - QueryVisitor query_visitor(&index_, &numeric_index_, &document_store_, - &schema_store_, &normalizer_, &tokenizer_, - query->raw_term, filter_options_, match_type_, - needs_term_frequency_info_, - pending_property_restricts_, processing_not_); + QueryVisitor query_visitor( + &index_, &numeric_index_, &document_store_, &schema_store_, + &normalizer_, &tokenizer_, query->raw_term, filter_options_, + match_type_, needs_term_frequency_info_, pending_property_restricts_, + processing_not_, current_time_ms_); tree_root->Accept(&query_visitor); ICING_ASSIGN_OR_RETURN(query_result, std::move(query_visitor).ConsumeResults()); @@ -281,7 +281,8 @@ libtextclassifier3::StatusOr<PendingValue> QueryVisitor::SearchFunction( pending_property_restricts_.has_active_property_restricts()) { iterator = std::make_unique<DocHitInfoIteratorSectionRestrict>( std::move(iterator), &document_store_, &schema_store_, - pending_property_restricts_.active_property_restricts()); + pending_property_restricts_.active_property_restricts(), + current_time_ms_); pending_property_restricts_.PopRestricts(); } if (!processing_not_) { @@ -314,7 +315,7 @@ QueryVisitor::PropertyDefinedFunction(std::vector<PendingValue>&& args) { std::unique_ptr<DocHitInfoIterator> property_in_schema_iterator = std::make_unique<DocHitInfoIteratorPropertyInSchema>( std::move(all_docs_iterator), &document_store_, &schema_store_, - std::move(target_sections)); + std::move(target_sections), current_time_ms_); features_.insert(kListFilterQueryLanguageFeature); @@ -490,10 +491,10 @@ libtextclassifier3::Status QueryVisitor::ProcessNumericComparator( // 5. Create the iterator and push it onto pending_values_. ICING_ASSIGN_OR_RETURN(Int64Range range, GetInt64Range(node->operator_text(), int_value)); - ICING_ASSIGN_OR_RETURN( - std::unique_ptr<DocHitInfoIterator> iterator, - numeric_index_.GetIterator(text_value.term, range.low, range.high, - document_store_, schema_store_)); + ICING_ASSIGN_OR_RETURN(std::unique_ptr<DocHitInfoIterator> iterator, + numeric_index_.GetIterator( + text_value.term, range.low, range.high, + document_store_, schema_store_, current_time_ms_)); features_.insert(kNumericSearchFeature); pending_values_.push(PendingValue(std::move(iterator))); @@ -648,7 +649,7 @@ libtextclassifier3::Status QueryVisitor::ProcessHasOperator( pending_values_.push( PendingValue(std::make_unique<DocHitInfoIteratorSectionRestrict>( std::move(delegate), &document_store_, &schema_store_, - std::move(property_restricts)))); + std::move(property_restricts), current_time_ms_))); return libtextclassifier3::Status::OK; } diff --git a/icing/query/advanced_query_parser/query-visitor.h b/icing/query/advanced_query_parser/query-visitor.h index c5598dd..38864f8 100644 --- a/icing/query/advanced_query_parser/query-visitor.h +++ b/icing/query/advanced_query_parser/query-visitor.h @@ -45,18 +45,21 @@ namespace lib { // the parser. class QueryVisitor : public AbstractSyntaxTreeVisitor { public: - explicit QueryVisitor( - Index* index, const NumericIndex<int64_t>* numeric_index, - const DocumentStore* document_store, const SchemaStore* schema_store, - const Normalizer* normalizer, const Tokenizer* tokenizer, - std::string_view raw_query_text, - DocHitInfoIteratorFilter::Options filter_options, - TermMatchType::Code match_type, bool needs_term_frequency_info) + explicit QueryVisitor(Index* index, + const NumericIndex<int64_t>* numeric_index, + const DocumentStore* document_store, + const SchemaStore* schema_store, + const Normalizer* normalizer, + const Tokenizer* tokenizer, + std::string_view raw_query_text, + DocHitInfoIteratorFilter::Options filter_options, + TermMatchType::Code match_type, + bool needs_term_frequency_info, int64_t current_time_ms) : QueryVisitor(index, numeric_index, document_store, schema_store, normalizer, tokenizer, raw_query_text, filter_options, match_type, needs_term_frequency_info, PendingPropertyRestricts(), - /*processing_not=*/false) {} + /*processing_not=*/false, current_time_ms) {} void VisitFunctionName(const FunctionNameNode* node) override; void VisitString(const StringNode* node) override; @@ -108,7 +111,8 @@ class QueryVisitor : public AbstractSyntaxTreeVisitor { std::string_view raw_query_text, DocHitInfoIteratorFilter::Options filter_options, TermMatchType::Code match_type, bool needs_term_frequency_info, - PendingPropertyRestricts pending_property_restricts, bool processing_not) + PendingPropertyRestricts pending_property_restricts, bool processing_not, + int64_t current_time_ms) : index_(*index), numeric_index_(*numeric_index), document_store_(*document_store), @@ -121,7 +125,8 @@ class QueryVisitor : public AbstractSyntaxTreeVisitor { needs_term_frequency_info_(needs_term_frequency_info), pending_property_restricts_(std::move(pending_property_restricts)), processing_not_(processing_not), - expecting_numeric_arg_(false) { + expecting_numeric_arg_(false), + current_time_ms_(current_time_ms) { RegisterFunctions(); } @@ -302,6 +307,8 @@ class QueryVisitor : public AbstractSyntaxTreeVisitor { // Whether we are in the midst of processing a subtree that is expected to // resolve to a numeric argument. bool expecting_numeric_arg_; + + int64_t current_time_ms_; }; } // namespace lib diff --git a/icing/query/advanced_query_parser/query-visitor_test.cc b/icing/query/advanced_query_parser/query-visitor_test.cc index 92eb3e7..0d7ba6d 100644 --- a/icing/query/advanced_query_parser/query-visitor_test.cc +++ b/icing/query/advanced_query_parser/query-visitor_test.cc @@ -233,7 +233,7 @@ TEST_P(QueryVisitorTest, SimpleLessThan) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); ICING_ASSERT_OK_AND_ASSIGN(QueryResults query_results, std::move(query_visitor).ConsumeResults()); @@ -276,7 +276,7 @@ TEST_P(QueryVisitorTest, SimpleLessThanEq) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); ICING_ASSERT_OK_AND_ASSIGN(QueryResults query_results, std::move(query_visitor).ConsumeResults()); @@ -319,7 +319,7 @@ TEST_P(QueryVisitorTest, SimpleEqual) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); ICING_ASSERT_OK_AND_ASSIGN(QueryResults query_results, std::move(query_visitor).ConsumeResults()); @@ -362,7 +362,7 @@ TEST_P(QueryVisitorTest, SimpleGreaterThanEq) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); ICING_ASSERT_OK_AND_ASSIGN(QueryResults query_results, std::move(query_visitor).ConsumeResults()); @@ -405,7 +405,7 @@ TEST_P(QueryVisitorTest, SimpleGreaterThan) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); ICING_ASSERT_OK_AND_ASSIGN(QueryResults query_results, std::move(query_visitor).ConsumeResults()); @@ -449,7 +449,7 @@ TEST_P(QueryVisitorTest, IntMinLessThanEqual) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); ICING_ASSERT_OK_AND_ASSIGN(QueryResults query_results, std::move(query_visitor).ConsumeResults()); @@ -493,7 +493,7 @@ TEST_P(QueryVisitorTest, IntMaxGreaterThanEqual) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); ICING_ASSERT_OK_AND_ASSIGN(QueryResults query_results, std::move(query_visitor).ConsumeResults()); @@ -538,7 +538,7 @@ TEST_P(QueryVisitorTest, NestedPropertyLessThan) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); ICING_ASSERT_OK_AND_ASSIGN(QueryResults query_results, std::move(query_visitor).ConsumeResults()); @@ -566,7 +566,7 @@ TEST_P(QueryVisitorTest, IntParsingError) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); EXPECT_THAT(std::move(query_visitor).ConsumeResults(), StatusIs(libtextclassifier3::StatusCode::INVALID_ARGUMENT)); @@ -580,7 +580,7 @@ TEST_P(QueryVisitorTest, NotEqualsUnsupported) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); EXPECT_THAT(std::move(query_visitor).ConsumeResults(), StatusIs(libtextclassifier3::StatusCode::UNIMPLEMENTED)); @@ -628,7 +628,7 @@ TEST_P(QueryVisitorTest, LessThanTooManyOperandsInvalid) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); EXPECT_THAT(std::move(query_visitor).ConsumeResults(), StatusIs(libtextclassifier3::StatusCode::INVALID_ARGUMENT)); @@ -655,7 +655,7 @@ TEST_P(QueryVisitorTest, LessThanTooFewOperandsInvalid) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); EXPECT_THAT(std::move(query_visitor).ConsumeResults(), StatusIs(libtextclassifier3::StatusCode::INVALID_ARGUMENT)); @@ -686,7 +686,7 @@ TEST_P(QueryVisitorTest, LessThanNonExistentPropertyNotFound) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); ICING_ASSERT_OK_AND_ASSIGN(QueryResults query_results, std::move(query_visitor).ConsumeResults()); @@ -708,7 +708,7 @@ TEST_P(QueryVisitorTest, NeverVisitedReturnsInvalid) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), "", DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); EXPECT_THAT(std::move(query_visitor).ConsumeResults(), StatusIs(libtextclassifier3::StatusCode::INVALID_ARGUMENT)); } @@ -737,7 +737,7 @@ TEST_P(QueryVisitorTest, IntMinLessThanInvalid) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); EXPECT_THAT(std::move(query_visitor).ConsumeResults(), StatusIs(libtextclassifier3::StatusCode::INVALID_ARGUMENT)); @@ -767,7 +767,7 @@ TEST_P(QueryVisitorTest, IntMaxGreaterThanInvalid) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); EXPECT_THAT(std::move(query_visitor).ConsumeResults(), StatusIs(libtextclassifier3::StatusCode::INVALID_ARGUMENT)); @@ -782,7 +782,7 @@ TEST_P(QueryVisitorTest, NumericComparisonPropertyStringIsInvalid) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); EXPECT_THAT(std::move(query_visitor).ConsumeResults(), StatusIs(libtextclassifier3::StatusCode::INVALID_ARGUMENT)); @@ -846,7 +846,7 @@ TEST_P(QueryVisitorTest, NumericComparatorDoesntAffectLaterTerms) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); ICING_ASSERT_OK_AND_ASSIGN(QueryResults query_results, std::move(query_visitor).ConsumeResults()); @@ -889,7 +889,7 @@ TEST_P(QueryVisitorTest, SingleTermTermFrequencyEnabled) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); ICING_ASSERT_OK_AND_ASSIGN(QueryResults query_results, std::move(query_visitor).ConsumeResults()); @@ -941,7 +941,7 @@ TEST_P(QueryVisitorTest, SingleTermTermFrequencyDisabled) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/false); + /*needs_term_frequency_info_=*/false, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); ICING_ASSERT_OK_AND_ASSIGN(QueryResults query_results, std::move(query_visitor).ConsumeResults()); @@ -993,7 +993,7 @@ TEST_P(QueryVisitorTest, SingleTermPrefix) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_EXACT, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); ICING_ASSERT_OK_AND_ASSIGN(QueryResults query_results, std::move(query_visitor).ConsumeResults()); @@ -1009,7 +1009,7 @@ TEST_P(QueryVisitorTest, SingleTermPrefix) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_EXACT, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor_two); ICING_ASSERT_OK_AND_ASSIGN(query_results, std::move(query_visitor_two).ConsumeResults()); @@ -1029,7 +1029,7 @@ TEST_P(QueryVisitorTest, PrefixOperatorAfterPropertyReturnsInvalid) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); EXPECT_THAT(std::move(query_visitor).ConsumeResults(), StatusIs(libtextclassifier3::StatusCode::INVALID_ARGUMENT)); @@ -1043,7 +1043,7 @@ TEST_P(QueryVisitorTest, PrefixOperatorAfterNumericValueReturnsInvalid) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); EXPECT_THAT(std::move(query_visitor).ConsumeResults(), StatusIs(libtextclassifier3::StatusCode::INVALID_ARGUMENT)); @@ -1057,7 +1057,7 @@ TEST_P(QueryVisitorTest, PrefixOperatorAfterPropertyRestrictReturnsInvalid) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); EXPECT_THAT(std::move(query_visitor).ConsumeResults(), StatusIs(libtextclassifier3::StatusCode::INVALID_ARGUMENT)); @@ -1095,7 +1095,7 @@ TEST_P(QueryVisitorTest, SegmentationWithPrefix) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_EXACT, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); ICING_ASSERT_OK_AND_ASSIGN(QueryResults query_results, std::move(query_visitor).ConsumeResults()); @@ -1118,7 +1118,7 @@ TEST_P(QueryVisitorTest, SegmentationWithPrefix) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_EXACT, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor_two); ICING_ASSERT_OK_AND_ASSIGN(query_results, std::move(query_visitor_two).ConsumeResults()); @@ -1155,7 +1155,7 @@ TEST_P(QueryVisitorTest, SingleVerbatimTerm) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); ICING_ASSERT_OK_AND_ASSIGN(QueryResults query_results, std::move(query_visitor).ConsumeResults()); @@ -1202,7 +1202,7 @@ TEST_P(QueryVisitorTest, SingleVerbatimTermPrefix) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_EXACT, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); ICING_ASSERT_OK_AND_ASSIGN(QueryResults query_results, std::move(query_visitor).ConsumeResults()); @@ -1255,7 +1255,7 @@ TEST_P(QueryVisitorTest, VerbatimTermEscapingQuote) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); ICING_ASSERT_OK_AND_ASSIGN(QueryResults query_results, std::move(query_visitor).ConsumeResults()); @@ -1307,7 +1307,7 @@ TEST_P(QueryVisitorTest, VerbatimTermEscapingEscape) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); ICING_ASSERT_OK_AND_ASSIGN(QueryResults query_results, std::move(query_visitor).ConsumeResults()); @@ -1361,7 +1361,7 @@ TEST_P(QueryVisitorTest, VerbatimTermEscapingNonSpecialChar) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); ICING_ASSERT_OK_AND_ASSIGN(QueryResults query_results, std::move(query_visitor).ConsumeResults()); @@ -1388,7 +1388,7 @@ TEST_P(QueryVisitorTest, VerbatimTermEscapingNonSpecialChar) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor_two); ICING_ASSERT_OK_AND_ASSIGN(query_results, std::move(query_visitor_two).ConsumeResults()); @@ -1443,7 +1443,7 @@ TEST_P(QueryVisitorTest, VerbatimTermNewLine) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); ICING_ASSERT_OK_AND_ASSIGN(QueryResults query_results, std::move(query_visitor).ConsumeResults()); @@ -1469,7 +1469,7 @@ TEST_P(QueryVisitorTest, VerbatimTermNewLine) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor_two); ICING_ASSERT_OK_AND_ASSIGN(query_results, std::move(query_visitor_two).ConsumeResults()); @@ -1518,7 +1518,7 @@ TEST_P(QueryVisitorTest, VerbatimTermEscapingComplex) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); ICING_ASSERT_OK_AND_ASSIGN(QueryResults query_results, std::move(query_visitor).ConsumeResults()); @@ -1577,7 +1577,7 @@ TEST_P(QueryVisitorTest, SingleMinusTerm) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); ICING_ASSERT_OK_AND_ASSIGN(QueryResults query_results, std::move(query_visitor).ConsumeResults()); @@ -1631,7 +1631,7 @@ TEST_P(QueryVisitorTest, SingleNotTerm) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); ICING_ASSERT_OK_AND_ASSIGN(QueryResults query_results, std::move(query_visitor).ConsumeResults()); @@ -1686,7 +1686,7 @@ TEST_P(QueryVisitorTest, NestedNotTerms) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); ICING_ASSERT_OK_AND_ASSIGN(QueryResults query_results, std::move(query_visitor).ConsumeResults()); @@ -1755,7 +1755,7 @@ TEST_P(QueryVisitorTest, DeeplyNestedNotTerms) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); ICING_ASSERT_OK_AND_ASSIGN(QueryResults query_results, std::move(query_visitor).ConsumeResults()); @@ -1794,7 +1794,7 @@ TEST_P(QueryVisitorTest, ImplicitAndTerms) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); ICING_ASSERT_OK_AND_ASSIGN(QueryResults query_results, std::move(query_visitor).ConsumeResults()); @@ -1837,7 +1837,7 @@ TEST_P(QueryVisitorTest, ExplicitAndTerms) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); ICING_ASSERT_OK_AND_ASSIGN(QueryResults query_results, std::move(query_visitor).ConsumeResults()); @@ -1880,7 +1880,7 @@ TEST_P(QueryVisitorTest, OrTerms) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); ICING_ASSERT_OK_AND_ASSIGN(QueryResults query_results, std::move(query_visitor).ConsumeResults()); @@ -1925,7 +1925,7 @@ TEST_P(QueryVisitorTest, AndOrTermPrecedence) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); ICING_ASSERT_OK_AND_ASSIGN(QueryResults query_results, std::move(query_visitor).ConsumeResults()); @@ -1950,7 +1950,7 @@ TEST_P(QueryVisitorTest, AndOrTermPrecedence) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor_two); ICING_ASSERT_OK_AND_ASSIGN(query_results, std::move(query_visitor_two).ConsumeResults()); @@ -1974,7 +1974,7 @@ TEST_P(QueryVisitorTest, AndOrTermPrecedence) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor_three); ICING_ASSERT_OK_AND_ASSIGN(query_results, std::move(query_visitor_three).ConsumeResults()); @@ -2036,7 +2036,7 @@ TEST_P(QueryVisitorTest, AndOrNotPrecedence) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); ICING_ASSERT_OK_AND_ASSIGN(QueryResults query_results, std::move(query_visitor).ConsumeResults()); @@ -2056,7 +2056,7 @@ TEST_P(QueryVisitorTest, AndOrNotPrecedence) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor_two); ICING_ASSERT_OK_AND_ASSIGN(query_results, std::move(query_visitor_two).ConsumeResults()); @@ -2121,7 +2121,7 @@ TEST_P(QueryVisitorTest, PropertyFilter) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); ICING_ASSERT_OK_AND_ASSIGN(QueryResults query_results, std::move(query_visitor).ConsumeResults()); @@ -2197,7 +2197,7 @@ TEST_F(QueryVisitorTest, MultiPropertyFilter) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); ICING_ASSERT_OK_AND_ASSIGN(QueryResults query_results, std::move(query_visitor).ConsumeResults()); @@ -2240,7 +2240,7 @@ TEST_P(QueryVisitorTest, PropertyFilterStringIsInvalid) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); EXPECT_THAT(std::move(query_visitor).ConsumeResults(), StatusIs(libtextclassifier3::StatusCode::INVALID_ARGUMENT)); @@ -2296,7 +2296,7 @@ TEST_P(QueryVisitorTest, PropertyFilterNonNormalized) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); ICING_ASSERT_OK_AND_ASSIGN(QueryResults query_results, std::move(query_visitor).ConsumeResults()); @@ -2367,7 +2367,7 @@ TEST_P(QueryVisitorTest, PropertyFilterWithGrouping) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); ICING_ASSERT_OK_AND_ASSIGN(QueryResults query_results, std::move(query_visitor).ConsumeResults()); @@ -2434,7 +2434,7 @@ TEST_P(QueryVisitorTest, ValidNestedPropertyFilter) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); ICING_ASSERT_OK_AND_ASSIGN(QueryResults query_results, std::move(query_visitor).ConsumeResults()); @@ -2455,7 +2455,7 @@ TEST_P(QueryVisitorTest, ValidNestedPropertyFilter) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor_two); ICING_ASSERT_OK_AND_ASSIGN(query_results, std::move(query_visitor_two).ConsumeResults()); @@ -2521,7 +2521,7 @@ TEST_P(QueryVisitorTest, InvalidNestedPropertyFilter) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); ICING_ASSERT_OK_AND_ASSIGN(QueryResults query_results, std::move(query_visitor).ConsumeResults()); @@ -2542,7 +2542,7 @@ TEST_P(QueryVisitorTest, InvalidNestedPropertyFilter) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor_two); ICING_ASSERT_OK_AND_ASSIGN(query_results, std::move(query_visitor_two).ConsumeResults()); @@ -2608,7 +2608,7 @@ TEST_P(QueryVisitorTest, NotWithPropertyFilter) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); ICING_ASSERT_OK_AND_ASSIGN(QueryResults query_results, std::move(query_visitor).ConsumeResults()); @@ -2629,7 +2629,7 @@ TEST_P(QueryVisitorTest, NotWithPropertyFilter) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor_two); ICING_ASSERT_OK_AND_ASSIGN(query_results, std::move(query_visitor_two).ConsumeResults()); @@ -2696,7 +2696,7 @@ TEST_P(QueryVisitorTest, PropertyFilterWithNot) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); ICING_ASSERT_OK_AND_ASSIGN(QueryResults query_results, std::move(query_visitor).ConsumeResults()); @@ -2720,7 +2720,7 @@ TEST_P(QueryVisitorTest, PropertyFilterWithNot) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor_two); ICING_ASSERT_OK_AND_ASSIGN(query_results, std::move(query_visitor_two).ConsumeResults()); @@ -2802,7 +2802,7 @@ TEST_P(QueryVisitorTest, SegmentationTest) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); ICING_ASSERT_OK_AND_ASSIGN(QueryResults query_results, std::move(query_visitor).ConsumeResults()); @@ -2922,7 +2922,7 @@ TEST_P(QueryVisitorTest, PropertyRestrictsPopCorrectly) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); ICING_ASSERT_OK_AND_ASSIGN(QueryResults query_results, std::move(query_visitor).ConsumeResults()); @@ -3039,7 +3039,7 @@ TEST_P(QueryVisitorTest, UnsatisfiablePropertyRestrictsPopCorrectly) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); ICING_ASSERT_OK_AND_ASSIGN(QueryResults query_results, std::move(query_visitor).ConsumeResults()); @@ -3063,7 +3063,7 @@ TEST_F(QueryVisitorTest, UnsupportedFunctionReturnsInvalidArgument) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); EXPECT_THAT(std::move(query_visitor).ConsumeResults(), StatusIs(libtextclassifier3::StatusCode::INVALID_ARGUMENT)); @@ -3077,7 +3077,7 @@ TEST_F(QueryVisitorTest, SearchFunctionTooFewArgumentsReturnsInvalidArgument) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); EXPECT_THAT(std::move(query_visitor).ConsumeResults(), StatusIs(libtextclassifier3::StatusCode::INVALID_ARGUMENT)); @@ -3091,7 +3091,7 @@ TEST_F(QueryVisitorTest, SearchFunctionTooManyArgumentsReturnsInvalidArgument) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); EXPECT_THAT(std::move(query_visitor).ConsumeResults(), StatusIs(libtextclassifier3::StatusCode::INVALID_ARGUMENT)); @@ -3107,7 +3107,7 @@ TEST_F(QueryVisitorTest, index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); EXPECT_THAT(std::move(query_visitor).ConsumeResults(), StatusIs(libtextclassifier3::StatusCode::INVALID_ARGUMENT)); @@ -3119,7 +3119,7 @@ TEST_F(QueryVisitorTest, index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor_two); EXPECT_THAT(std::move(query_visitor_two).ConsumeResults(), StatusIs(libtextclassifier3::StatusCode::INVALID_ARGUMENT)); @@ -3135,7 +3135,7 @@ TEST_F(QueryVisitorTest, index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); EXPECT_THAT(std::move(query_visitor).ConsumeResults(), StatusIs(libtextclassifier3::StatusCode::INVALID_ARGUMENT)); @@ -3147,7 +3147,7 @@ TEST_F(QueryVisitorTest, index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor_two); EXPECT_THAT(std::move(query_visitor_two).ConsumeResults(), StatusIs(libtextclassifier3::StatusCode::INVALID_ARGUMENT)); @@ -3162,7 +3162,7 @@ TEST_F(QueryVisitorTest, index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); EXPECT_THAT(std::move(query_visitor).ConsumeResults(), StatusIs(libtextclassifier3::StatusCode::INVALID_ARGUMENT)); @@ -3225,7 +3225,7 @@ TEST_F(QueryVisitorTest, SearchFunctionNestedFunctionCalls) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), level_two_query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); ICING_ASSERT_OK_AND_ASSIGN(QueryResults query_results, std::move(query_visitor).ConsumeResults()); @@ -3249,7 +3249,7 @@ TEST_F(QueryVisitorTest, SearchFunctionNestedFunctionCalls) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), level_three_query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor_two); ICING_ASSERT_OK_AND_ASSIGN(query_results, std::move(query_visitor_two).ConsumeResults()); @@ -3273,7 +3273,7 @@ TEST_F(QueryVisitorTest, SearchFunctionNestedFunctionCalls) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), level_four_query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor_three); ICING_ASSERT_OK_AND_ASSIGN(query_results, std::move(query_visitor_three).ConsumeResults()); @@ -3395,7 +3395,7 @@ TEST_F(QueryVisitorTest, SearchFunctionNestedPropertyRestrictsNarrowing) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), level_one_query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); ICING_ASSERT_OK_AND_ASSIGN(QueryResults query_results, std::move(query_visitor).ConsumeResults()); @@ -3427,7 +3427,7 @@ TEST_F(QueryVisitorTest, SearchFunctionNestedPropertyRestrictsNarrowing) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), level_two_query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor_two); ICING_ASSERT_OK_AND_ASSIGN(query_results, std::move(query_visitor_two).ConsumeResults()); @@ -3453,7 +3453,7 @@ TEST_F(QueryVisitorTest, SearchFunctionNestedPropertyRestrictsNarrowing) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), level_three_query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor_three); ICING_ASSERT_OK_AND_ASSIGN(query_results, std::move(query_visitor_three).ConsumeResults()); @@ -3575,7 +3575,7 @@ TEST_F(QueryVisitorTest, SearchFunctionNestedPropertyRestrictsExpanding) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), level_one_query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); ICING_ASSERT_OK_AND_ASSIGN(QueryResults query_results, std::move(query_visitor).ConsumeResults()); @@ -3599,7 +3599,7 @@ TEST_F(QueryVisitorTest, SearchFunctionNestedPropertyRestrictsExpanding) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), level_two_query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor_two); ICING_ASSERT_OK_AND_ASSIGN(query_results, std::move(query_visitor_two).ConsumeResults()); @@ -3624,7 +3624,7 @@ TEST_F(QueryVisitorTest, SearchFunctionNestedPropertyRestrictsExpanding) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), level_three_query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor_three); ICING_ASSERT_OK_AND_ASSIGN(query_results, std::move(query_visitor_three).ConsumeResults()); @@ -3650,7 +3650,7 @@ TEST_F(QueryVisitorTest, index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); EXPECT_THAT(std::move(query_visitor).ConsumeResults(), StatusIs(libtextclassifier3::StatusCode::INVALID_ARGUMENT)); @@ -3666,7 +3666,7 @@ TEST_F( index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); EXPECT_THAT(std::move(query_visitor).ConsumeResults(), StatusIs(libtextclassifier3::StatusCode::INVALID_ARGUMENT)); @@ -3682,7 +3682,7 @@ TEST_F(QueryVisitorTest, index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); EXPECT_THAT(std::move(query_visitor).ConsumeResults(), StatusIs(libtextclassifier3::StatusCode::INVALID_ARGUMENT)); @@ -3697,7 +3697,7 @@ TEST_F(QueryVisitorTest, index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); EXPECT_THAT(std::move(query_visitor).ConsumeResults(), StatusIs(libtextclassifier3::StatusCode::INVALID_ARGUMENT)); @@ -3751,7 +3751,7 @@ TEST_P(QueryVisitorTest, PropertyDefinedFunctionReturnsMatchingDocuments) { index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); ICING_ASSERT_OK_AND_ASSIGN(QueryResults query_results, std::move(query_visitor).ConsumeResults()); @@ -3804,7 +3804,7 @@ TEST_P(QueryVisitorTest, index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); ICING_ASSERT_OK_AND_ASSIGN(QueryResults query_results, std::move(query_visitor).ConsumeResults()); @@ -3855,7 +3855,7 @@ TEST_P(QueryVisitorTest, index_.get(), numeric_index_.get(), document_store_.get(), schema_store_.get(), normalizer_.get(), tokenizer_.get(), query, DocHitInfoIteratorFilter::Options(), TERM_MATCH_PREFIX, - /*needs_term_frequency_info_=*/true); + /*needs_term_frequency_info_=*/true, clock_.GetSystemTimeMilliseconds()); root_node->Accept(&query_visitor); ICING_ASSERT_OK_AND_ASSIGN(QueryResults query_results, std::move(query_visitor).ConsumeResults()); |