aboutsummaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@online.no>2023-03-21 19:45:41 +0100
committerTor Egge <Tor.Egge@online.no>2023-03-21 19:45:41 +0100
commit2d48d47bee20a9b113ffde6aedb98e7042603fc6 (patch)
tree6944137e97fc9be295a85feef32752f6739279c8 /searchlib
parenta50527a2adb0da7080fabd297e804dcee7140b30 (diff)
Test unset raw value and empty raw value.
Diffstat (limited to 'searchlib')
-rw-r--r--searchlib/src/tests/attribute/extendattributes/extendattribute.cpp18
-rw-r--r--searchlib/src/vespa/searchlib/attribute/single_raw_ext_attribute.h2
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;
};