diff options
author | Tor Egge <Tor.Egge@online.no> | 2023-03-21 19:45:41 +0100 |
---|---|---|
committer | Tor Egge <Tor.Egge@online.no> | 2023-03-21 19:45:41 +0100 |
commit | 2d48d47bee20a9b113ffde6aedb98e7042603fc6 (patch) | |
tree | 6944137e97fc9be295a85feef32752f6739279c8 /searchlib | |
parent | a50527a2adb0da7080fabd297e804dcee7140b30 (diff) |
Test unset raw value and empty raw value.
Diffstat (limited to 'searchlib')
-rw-r--r-- | searchlib/src/tests/attribute/extendattributes/extendattribute.cpp | 18 | ||||
-rw-r--r-- | searchlib/src/vespa/searchlib/attribute/single_raw_ext_attribute.h | 2 |
2 files changed, 15 insertions, 5 deletions
diff --git a/searchlib/src/tests/attribute/extendattributes/extendattribute.cpp b/searchlib/src/tests/attribute/extendattributes/extendattribute.cpp index 98d79ebd50c..c2285a99599 100644 --- a/searchlib/src/tests/attribute/extendattributes/extendattribute.cpp +++ b/searchlib/src/tests/attribute/extendattributes/extendattribute.cpp @@ -148,31 +148,41 @@ void ExtendAttributeTest::testExtendString(Attribute & attr) template <typename Attribute> void ExtendAttributeTest::testExtendRaw(Attribute & attr) { + std::vector<char> empty; std::vector<char> zeros{10, 0, 0, 11}; uint32_t docId(0); EXPECT_EQ(0u, attr.getNumDocs()); attr.addDoc(docId); EXPECT_EQ(0u, docId); EXPECT_EQ(1u, attr.getNumDocs()); - attr.add(as_vector("1.7"), 10); + attr.add(as_vector("1.7")); auto buf = attr.get_raw(0); EXPECT_EQ(as_vector("1.7"), as_vector(buf)); - attr.add(as_vector("2.3"), 20); + attr.add(vespalib::ConstArrayRef<char>(as_vector("2.3"))); buf = attr.get_raw(0); EXPECT_EQ(as_vector("2.3"), as_vector(buf)); attr.addDoc(docId); EXPECT_EQ(1u, docId); EXPECT_EQ(attr.getNumDocs(), 2u); - attr.add(as_vector("3.6"), 30); + attr.add(as_vector("3.6")); buf = attr.get_raw(1); EXPECT_EQ(as_vector("3.6"), as_vector(buf)); buf = attr.get_raw(0); EXPECT_EQ(as_vector("2.3"), as_vector(buf)); attr.addDoc(docId); EXPECT_EQ(2u, docId); - attr.add(zeros, 40); + attr.add(zeros); buf = attr.get_raw(2); EXPECT_EQ(zeros, as_vector(buf)); + attr.addDoc(docId); + EXPECT_EQ(3u, docId); + buf = attr.get_raw(3); + EXPECT_EQ(empty, as_vector(buf)); + attr.addDoc(docId); + EXPECT_EQ(4u, docId); + attr.add(empty); + buf = attr.get_raw(4); + EXPECT_EQ(empty, as_vector(buf)); } TEST_F(ExtendAttributeTest, single_integer_ext_attribute) diff --git a/searchlib/src/vespa/searchlib/attribute/single_raw_ext_attribute.h b/searchlib/src/vespa/searchlib/attribute/single_raw_ext_attribute.h index e3beb21c1a5..a8f20d2bb39 100644 --- a/searchlib/src/vespa/searchlib/attribute/single_raw_ext_attribute.h +++ b/searchlib/src/vespa/searchlib/attribute/single_raw_ext_attribute.h @@ -21,7 +21,7 @@ public: void onCommit() override; void onUpdateStat() override; bool addDoc(DocId& docId) override; - bool add(vespalib::ConstArrayRef<char> v, int32_t) override; + bool add(vespalib::ConstArrayRef<char> v, int32_t = 1) override; vespalib::ConstArrayRef<char> get_raw(DocId docid) const override; }; |