diff options
author | Tor Egge <Tor.Egge@broadpark.no> | 2018-04-19 23:10:00 +0200 |
---|---|---|
committer | Tor Egge <Tor.Egge@oath.com> | 2018-04-20 08:48:49 +0000 |
commit | b438d5ef09ae94d0280e824e93196ae57ab97819 (patch) | |
tree | 14188629210c8e0d483fde2a04d7bd38984c0134 /searchlib/src/tests | |
parent | 834ea7c148b0595a11189bc7450ebb63483cbef6 (diff) |
Change AttributeContext to use makeReadGuard method on attribute vectors.
Diffstat (limited to 'searchlib/src/tests')
3 files changed, 22 insertions, 13 deletions
diff --git a/searchlib/src/tests/attribute/searchable/attribute_searchable_adapter_test.cpp b/searchlib/src/tests/attribute/searchable/attribute_searchable_adapter_test.cpp index 1306a0aaaac..e5af6931977 100644 --- a/searchlib/src/tests/attribute/searchable/attribute_searchable_adapter_test.cpp +++ b/searchlib/src/tests/attribute/searchable/attribute_searchable_adapter_test.cpp @@ -7,6 +7,7 @@ #include <vespa/searchlib/attribute/attributecontext.h> #include <vespa/searchlib/attribute/attributeguard.h> #include <vespa/searchlib/attribute/attributevector.h> +#include <vespa/searchlib/attribute/attribute_read_guard.h> #include <vespa/searchlib/attribute/extendableattributes.h> #include <vespa/searchlib/attribute/iattributemanager.h> #include <vespa/searchlib/attribute/predicate_attribute.h> @@ -27,7 +28,6 @@ #include <vespa/searchlib/queryeval/wand/parallel_weak_and_search.h> #include <memory> -using search::AttributeEnumGuard; using search::AttributeFactory; using search::AttributeGuard; using search::AttributeVector; @@ -100,13 +100,13 @@ public: } } - AttributeGuard::UP getAttributeStableEnum(const string &name) const override { - if (name == field) { - return AttributeGuard::UP(new AttributeEnumGuard(_attribute_vector)); - } else if (name == other) { - return AttributeGuard::UP(new AttributeEnumGuard(_other)); + std::unique_ptr<attribute::AttributeReadGuard> getAttributeReadGuard(const string &name, bool stableEnumGuard) const override { + if (name == field && _attribute_vector) { + return _attribute_vector->makeReadGuard(stableEnumGuard); + } else if (name == other && _other) { + return _other->makeReadGuard(stableEnumGuard); } else { - return AttributeGuard::UP(nullptr); + return std::unique_ptr<attribute::AttributeReadGuard>(); } } diff --git a/searchlib/src/tests/attribute/searchable/attribute_weighted_set_blueprint_test.cpp b/searchlib/src/tests/attribute/searchable/attribute_weighted_set_blueprint_test.cpp index c22807f8bf5..39bbb8fb5ad 100644 --- a/searchlib/src/tests/attribute/searchable/attribute_weighted_set_blueprint_test.cpp +++ b/searchlib/src/tests/attribute/searchable/attribute_weighted_set_blueprint_test.cpp @@ -5,6 +5,7 @@ #include <vespa/searchlib/attribute/attribute_weighted_set_blueprint.h> #include <vespa/searchlib/attribute/attributecontext.h> #include <vespa/searchlib/attribute/attributevector.h> +#include <vespa/searchlib/attribute/attribute_read_guard.h> #include <vespa/searchlib/attribute/extendableattributes.h> #include <vespa/searchlib/attribute/singlestringattribute.h> #include <vespa/searchlib/attribute/attributefactory.h> @@ -50,8 +51,13 @@ public: return AttributeGuard::UP(new AttributeGuard(lookup(name))); } - virtual AttributeGuard::UP getAttributeStableEnum(const vespalib::string &name) const override { - return AttributeGuard::UP(new AttributeEnumGuard(lookup(name))); + virtual std::unique_ptr<attribute::AttributeReadGuard> getAttributeReadGuard(const string &name, bool stableEnumGuard) const override { + auto vector = lookup(name); + if (vector) { + return vector->makeReadGuard(stableEnumGuard); + } else { + return std::unique_ptr<attribute::AttributeReadGuard>(); + } } virtual void getAttributeList(std::vector<AttributeGuard> &list) const override { diff --git a/searchlib/src/tests/attribute/searchable/attributeblueprint_test.cpp b/searchlib/src/tests/attribute/searchable/attributeblueprint_test.cpp index 6753153c224..dc7cf53d188 100644 --- a/searchlib/src/tests/attribute/searchable/attributeblueprint_test.cpp +++ b/searchlib/src/tests/attribute/searchable/attributeblueprint_test.cpp @@ -4,6 +4,7 @@ #include <vespa/searchlib/attribute/attribute_blueprint_factory.h> #include <vespa/searchlib/attribute/attributecontext.h> #include <vespa/searchlib/attribute/attributevector.h> +#include <vespa/searchlib/attribute/attribute_read_guard.h> #include <vespa/searchlib/attribute/extendableattributes.h> #include <vespa/searchlib/attribute/singlenumericattribute.h> #include <vespa/searchlib/attribute/singlenumericattribute.hpp> @@ -17,7 +18,6 @@ #include <vespa/log/log.h> LOG_SETUP("attributeblueprint_test"); -using search::AttributeEnumGuard; using search::AttributeGuard; using search::AttributeVector; using search::IAttributeManager; @@ -64,10 +64,13 @@ public: return AttributeGuard::UP(new AttributeGuard(_attribute_vector)); } - AttributeGuard::UP getAttributeStableEnum(const string &) const override { - return AttributeGuard::UP(new AttributeEnumGuard(_attribute_vector)); + virtual std::unique_ptr<attribute::AttributeReadGuard> getAttributeReadGuard(const string &, bool stableEnumGuard) const override { + if (_attribute_vector) { + return _attribute_vector->makeReadGuard(stableEnumGuard); + } else { + return std::unique_ptr<attribute::AttributeReadGuard>(); + } } - void getAttributeList(vector<AttributeGuard> &) const override { assert(!"Not implemented"); } |