aboutsummaryrefslogtreecommitdiffstats
path: root/searchcore/src/tests/proton/reprocessing/attribute_reprocessing_initializer
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@yahoo-inc.com>2017-04-07 10:31:16 +0000
committerTor Egge <Tor.Egge@yahoo-inc.com>2017-04-07 10:31:16 +0000
commit6059a973ebcec3d52cc80e9a2a4332a1946ede36 (patch)
tree884e8f73501eb70c22039947d93c1e858feae0d2 /searchcore/src/tests/proton/reprocessing/attribute_reprocessing_initializer
parente66d3c230d67298e7f0fade6313d60e5118a93b4 (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.cpp22
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,