diff options
author | Tor Egge <Tor.Egge@yahoo-inc.com> | 2017-04-07 10:31:16 +0000 |
---|---|---|
committer | Tor Egge <Tor.Egge@yahoo-inc.com> | 2017-04-07 10:31:16 +0000 |
commit | 6059a973ebcec3d52cc80e9a2a4332a1946ede36 (patch) | |
tree | 884e8f73501eb70c22039947d93c1e858feae0d2 /searchcore/src/tests/proton/reprocessing/attribute_reprocessing_initializer | |
parent | e66d3c230d67298e7f0fade6313d60e5118a93b4 (diff) |
Use index schema inspector in attribute reprocessing initializer.
Diffstat (limited to 'searchcore/src/tests/proton/reprocessing/attribute_reprocessing_initializer')
-rw-r--r-- | searchcore/src/tests/proton/reprocessing/attribute_reprocessing_initializer/attribute_reprocessing_initializer_test.cpp | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/searchcore/src/tests/proton/reprocessing/attribute_reprocessing_initializer/attribute_reprocessing_initializer_test.cpp b/searchcore/src/tests/proton/reprocessing/attribute_reprocessing_initializer/attribute_reprocessing_initializer_test.cpp index 2604c20cf68..c20ebdfc039 100644 --- a/searchcore/src/tests/proton/reprocessing/attribute_reprocessing_initializer/attribute_reprocessing_initializer_test.cpp +++ b/searchcore/src/tests/proton/reprocessing/attribute_reprocessing_initializer/attribute_reprocessing_initializer_test.cpp @@ -8,6 +8,7 @@ LOG_SETUP("attribute_reprocessing_initializer_test"); #include <vespa/searchcore/proton/attribute/attributedisklayout.h> #include <vespa/searchcore/proton/attribute/attribute_directory.h> #include <vespa/searchcore/proton/attribute/document_field_populator.h> +#include <vespa/searchcore/proton/common/i_indexschema_inspector.h> #include <vespa/searchcore/proton/reprocessing/attribute_reprocessing_initializer.h> #include <vespa/searchcore/proton/reprocessing/i_reprocessing_handler.h> #include <vespa/searchcore/proton/test/attribute_utils.h> @@ -105,6 +106,23 @@ struct MyDocTypeInspector : public IDocumentTypeInspector } }; +struct MyIndexschemaInspector : public IIndexschemaInspector +{ + const search::index::Schema &_schema; + MyIndexschemaInspector(const search::index::Schema &schema) + : _schema(schema) + { + } + virtual bool isStringIndex(const vespalib::string &name) const override { + uint32_t fieldId = _schema.getIndexFieldId(name); + if (fieldId == Schema::UNKNOWN_FIELD_ID) { + return false; + } + const auto &field = _schema.getIndexField(fieldId); + return (field.getDataType() == DataType::STRING); + } +}; + struct Fixture { test::DirectoryHandler _dirHandler; @@ -134,10 +152,12 @@ struct Fixture } ~Fixture() { } void init() { + MyIndexschemaInspector oldIndexschemaInspector(_oldCfg._schema); _initializer.reset(new AttributeReprocessingInitializer (ARIConfig(_newCfg._mgr, _newCfg._schema), ARIConfig(_oldCfg._mgr, _oldCfg._schema), - _inspector, "test", INIT_SERIAL_NUM)); + _inspector, oldIndexschemaInspector, + "test", INIT_SERIAL_NUM)); _initializer->initialize(_handler); } Fixture &addOldConfig(const StringVector &fields, |