summaryrefslogtreecommitdiffstats
path: root/searchcore/src/tests/proton/attribute/attribute_aspect_delayer/attribute_aspect_delayer_test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'searchcore/src/tests/proton/attribute/attribute_aspect_delayer/attribute_aspect_delayer_test.cpp')
-rw-r--r--searchcore/src/tests/proton/attribute/attribute_aspect_delayer/attribute_aspect_delayer_test.cpp75
1 files changed, 47 insertions, 28 deletions
diff --git a/searchcore/src/tests/proton/attribute/attribute_aspect_delayer/attribute_aspect_delayer_test.cpp b/searchcore/src/tests/proton/attribute/attribute_aspect_delayer/attribute_aspect_delayer_test.cpp
index f2433b2adf6..d7904881e4d 100644
--- a/searchcore/src/tests/proton/attribute/attribute_aspect_delayer/attribute_aspect_delayer_test.cpp
+++ b/searchcore/src/tests/proton/attribute/attribute_aspect_delayer/attribute_aspect_delayer_test.cpp
@@ -7,6 +7,7 @@
#include <vespa/searchcore/proton/common/i_document_type_inspector.h>
#include <vespa/searchcore/proton/common/indexschema_inspector.h>
#include <vespa/searchcore/proton/test/attribute_utils.h>
+#include <vespa/searchsummary/docsummary/docsum_field_writer_commands.h>
#include <vespa/vespalib/gtest/gtest.h>
#include <vespa/vespalib/stllike/string.h>
#include <vespa/vespalib/test/insertion_operators.h>
@@ -14,13 +15,15 @@
#include <vespa/log/log.h>
LOG_SETUP("attibute_aspect_delayer_test");
+using search::attribute::Config;
using vespa::config::search::AttributesConfig;
using vespa::config::search::AttributesConfigBuilder;
using vespa::config::search::IndexschemaConfig;
using vespa::config::search::IndexschemaConfigBuilder;
using vespa::config::search::SummaryConfig;
using vespa::config::search::SummaryConfigBuilder;
-using search::attribute::Config;
+
+using namespace search::docsummary;
namespace vespa::config::search::internal {
@@ -192,15 +195,17 @@ TEST_F(DelayerTest, require_that_empty_config_is_ok)
TEST_F(DelayerTest, require_that_simple_attribute_config_is_ok)
{
- setup(attrCfg({make_int32_sv_cfg()}), attrCfg({make_int32_sv_cfg()}), sCfg({make_summary_field("a", "integer", "attribute", "a")}));
+ setup(attrCfg({make_int32_sv_cfg()}), attrCfg({make_int32_sv_cfg()}),
+ sCfg({make_summary_field("a", "integer", command::attribute, "a")}));
assertAttributeConfig({make_int32_sv_cfg()});
- assertSummaryConfig({make_summary_field("a", "integer", "attribute", "a")});
+ assertSummaryConfig({make_summary_field("a", "integer", command::attribute, "a")});
}
TEST_F(DelayerTest, require_that_adding_attribute_aspect_is_delayed_if_field_type_is_unchanged)
{
addFields({"a"});
- setup(attrCfg({}), attrCfg({make_int32_sv_cfg()}), sCfg({make_summary_field("a", "integer", "attribute", "a")}));
+ setup(attrCfg({}), attrCfg({make_int32_sv_cfg()}),
+ sCfg({make_summary_field("a", "integer", command::attribute, "a")}));
assertAttributeConfig({});
assertSummaryConfig({make_summary_field("a", "integer")});
}
@@ -208,24 +213,27 @@ TEST_F(DelayerTest, require_that_adding_attribute_aspect_is_delayed_if_field_typ
TEST_F(DelayerTest, require_that_adding_attribute_aspect_is_delayed_if_field_type_is_unchanged_geopos_override)
{
addFields({"a"});
- setup(attrCfg({}), attrCfg({make_int32_sv_cfg()}), sCfg({make_summary_field("a", "integer", "geopos", "a")}));
+ setup(attrCfg({}), attrCfg({make_int32_sv_cfg()}),
+ sCfg({make_summary_field("a", "integer", command::geo_position, "a")}));
assertAttributeConfig({});
- assertSummaryConfig({make_summary_field("a", "integer", "geopos", "a")});
+ assertSummaryConfig({make_summary_field("a", "integer", command::geo_position, "a")});
}
TEST_F(DelayerTest, require_that_adding_attribute_aspect_is_delayed_if_field_type_is_unchanged_mapped_summary)
{
addFields({"a"});
- setup(attrCfg({}), attrCfg({make_int32_sv_cfg()}), sCfg({make_summary_field("a_mapped", "integer", "attribute", "a")}));
+ setup(attrCfg({}), attrCfg({make_int32_sv_cfg()}),
+ sCfg({make_summary_field("a_mapped", "integer", command::attribute, "a")}));
assertAttributeConfig({});
- assertSummaryConfig({make_summary_field("a_mapped", "integer", "copy", "a")});
+ assertSummaryConfig({make_summary_field("a_mapped", "integer", command::copy, "a")});
}
TEST_F(DelayerTest, require_that_adding_attribute_is_not_delayed_if_field_type_changed)
{
- setup(attrCfg({}), attrCfg({make_int32_sv_cfg()}), sCfg({make_summary_field("a", "integer", "attribute", "a")}));
+ setup(attrCfg({}), attrCfg({make_int32_sv_cfg()}),
+ sCfg({make_summary_field("a", "integer", command::attribute, "a")}));
assertAttributeConfig({make_int32_sv_cfg()});
- assertSummaryConfig({make_summary_field("a", "integer", "attribute", "a")});
+ assertSummaryConfig({make_summary_field("a", "integer", command::attribute, "a")});
}
TEST_F(DelayerTest, require_that_removing_attribute_aspect_is_delayed_if_field_type_is_unchanged)
@@ -233,7 +241,7 @@ TEST_F(DelayerTest, require_that_removing_attribute_aspect_is_delayed_if_field_t
addFields({"a"});
setup(attrCfg({make_int32_sv_cfg()}), attrCfg({}), sCfg({make_summary_field("a", "integer")}));
assertAttributeConfig({make_int32_sv_cfg()});
- assertSummaryConfig({make_summary_field("a", "integer", "attribute", "a")});
+ assertSummaryConfig({make_summary_field("a", "integer", command::attribute, "a")});
}
TEST_F(DelayerTest, require_that_summary_map_override_is_removed_when_summary_aspect_is_removed_even_if_removing_attribute_aspect_is_delayed)
@@ -272,7 +280,8 @@ TEST_F(DelayerTest, require_that_adding_attribute_aspect_is_delayed_for_tensor_f
{
addFields({"a"});
setup(attrCfg({}),
- attrCfg({make_tensor_cfg("tensor(x[10])")}), sCfg({make_summary_field("a", "tensor", "attribute", "a")}));
+ attrCfg({make_tensor_cfg("tensor(x[10])")}),
+ sCfg({make_summary_field("a", "tensor", command::attribute, "a")}));
assertAttributeConfig({});
assertSummaryConfig({make_summary_field("a", "tensor")});
}
@@ -283,7 +292,7 @@ TEST_F(DelayerTest, require_that_removing_attribute_aspect_is_delayed_for_tensor
setup(attrCfg({make_tensor_cfg("tensor(x[10])")}),
attrCfg({}), sCfg({make_summary_field("a", "tensor")}));
assertAttributeConfig({make_tensor_cfg("tensor(x[10])")});
- assertSummaryConfig({make_summary_field("a", "tensor", "attribute", "a")});
+ assertSummaryConfig({make_summary_field("a", "tensor", command::attribute, "a")});
}
TEST_F(DelayerTest, require_that_removing_attribute_aspect_is_not_delayed_for_predicate)
@@ -305,56 +314,63 @@ TEST_F(DelayerTest, require_that_removing_attribute_aspect_is_not_delayed_for_re
TEST_F(DelayerTest, require_that_fast_access_flag_change_is_delayed_false_true_edge)
{
addFields({"a"});
- setup(attrCfg({make_int32_sv_cfg()}), attrCfg({make_fa(make_int32_sv_cfg())}), sCfg({make_summary_field("a", "integer", "attribute", "a")}));
+ setup(attrCfg({make_int32_sv_cfg()}), attrCfg({make_fa(make_int32_sv_cfg())}),
+ sCfg({make_summary_field("a", "integer", command::attribute, "a")}));
assertAttributeConfig({make_int32_sv_cfg()});
- assertSummaryConfig({make_summary_field("a", "integer", "attribute", "a")});
+ assertSummaryConfig({make_summary_field("a", "integer", command::attribute, "a")});
}
TEST_F(DelayerTest, require_that_fast_access_flag_change_is_delayed_true_false_edge)
{
addFields({"a"});
- setup(attrCfg({make_fa(make_int32_sv_cfg())}), attrCfg({make_int32_sv_cfg()}), sCfg({make_summary_field("a", "integer", "attribute", "a")}));
+ setup(attrCfg({make_fa(make_int32_sv_cfg())}), attrCfg({make_int32_sv_cfg()}),
+ sCfg({make_summary_field("a", "integer", command::attribute, "a")}));
assertAttributeConfig({make_fa(make_int32_sv_cfg())});
- assertSummaryConfig({make_summary_field("a", "integer", "attribute", "a")});
+ assertSummaryConfig({make_summary_field("a", "integer", command::attribute, "a")});
}
TEST_F(DelayerTest, require_that_fast_access_flag_change_is_delayed_false_true_edge_on_tensor_attribute)
{
addFields({"a"});
- setup(attrCfg({make_tensor_cfg("tensor(x[10])")}), attrCfg({make_fa(make_tensor_cfg("tensor(x[10])"))}), sCfg({make_summary_field("a", "tensor", "attribute", "a")}));
+ setup(attrCfg({make_tensor_cfg("tensor(x[10])")}), attrCfg({make_fa(make_tensor_cfg("tensor(x[10])"))}),
+ sCfg({make_summary_field("a", "tensor", command::attribute, "a")}));
assertAttributeConfig({make_tensor_cfg("tensor(x[10])")});
- assertSummaryConfig({make_summary_field("a", "tensor", "attribute", "a")});
+ assertSummaryConfig({make_summary_field("a", "tensor", command::attribute, "a")});
}
TEST_F(DelayerTest, require_that_fast_access_flag_change_is_delayed_true_false_edge_on_tensor_attribute)
{
addFields({"a"});
setup(attrCfg({make_fa(make_tensor_cfg("tensor(x[10])"))}),
- attrCfg({make_tensor_cfg("tensor(x[10])")}), sCfg({make_summary_field("a", "tensor", "attribute", "a")}));
+ attrCfg({make_tensor_cfg("tensor(x[10])")}),
+ sCfg({make_summary_field("a", "tensor", command::attribute, "a")}));
assertAttributeConfig({make_fa(make_tensor_cfg("tensor(x[10])"))});
- assertSummaryConfig({make_summary_field("a", "tensor", "attribute", "a")});
+ assertSummaryConfig({make_summary_field("a", "tensor", command::attribute, "a")});
}
TEST_F(DelayerTest, require_that_fast_access_flag_change_is_not_delayed_true_false_edge_on_string_attribute_indexed_field)
{
addFields({"a"});
addOldIndexField("a");
- setup(attrCfg({make_fa(make_string_sv_cfg())}), attrCfg({make_string_sv_cfg()}), sCfg({make_summary_field("a", "string", "attribute", "a")}));
+ setup(attrCfg({make_fa(make_string_sv_cfg())}), attrCfg({make_string_sv_cfg()}),
+ sCfg({make_summary_field("a", "string", command::attribute, "a")}));
assertAttributeConfig({make_string_sv_cfg()});
- assertSummaryConfig({make_summary_field("a", "string", "attribute", "a")});
+ assertSummaryConfig({make_summary_field("a", "string", command::attribute, "a")});
}
TEST_F(DelayerTest, require_that_adding_attribute_aspect_to_struct_field_is_not_delayed_if_field_type_is_changed)
{
- setup(attrCfg({}), attrCfg({make_int32_sv_cfg("array.a")}), sCfg({make_summary_field("array", "jsonstring", "attributecombiner", "array")}));
+ setup(attrCfg({}), attrCfg({make_int32_sv_cfg("array.a")}),
+ sCfg({make_summary_field("array", "jsonstring", command::attribute_combiner, "array")}));
assertAttributeConfig({make_int32_sv_cfg("array.a")});
- assertSummaryConfig({make_summary_field("array", "jsonstring", "attributecombiner", "array")});
+ assertSummaryConfig({make_summary_field("array", "jsonstring", command::attribute_combiner, "array")});
}
TEST_F(DelayerTest, require_that_adding_attribute_aspect_to_struct_field_is_delayed_if_field_type_is_unchanged)
{
addFields({"array.a"});
- setup(attrCfg({}), attrCfg({make_int32_sv_cfg("array.a")}), sCfg({make_summary_field("array", "jsonstring", "attributecombiner", "array")}));
+ setup(attrCfg({}), attrCfg({make_int32_sv_cfg("array.a")}),
+ sCfg({make_summary_field("array", "jsonstring", command::attribute_combiner, "array")}));
assertAttributeConfig({});
assertSummaryConfig({make_summary_field("array", "jsonstring")});
}
@@ -370,9 +386,12 @@ TEST_F(DelayerTest, require_that_removing_attribute_aspect_from_struct_field_is_
TEST_F(DelayerTest, require_that_adding_attribute_aspect_to_struct_field_is_delayed_if_field_type_is_unchanged_with_filtering_docsum)
{
addFields({"array.a"});
- setup(attrCfg({}), attrCfg({make_int32_sv_cfg("array.a")}), sCfg({make_summary_field("array", "jsonstring", "attributecombiner", "array"), make_summary_field("array_filtered", "jsonstring", "matchedattributeelementsfilter", "array")}));
+ setup(attrCfg({}), attrCfg({make_int32_sv_cfg("array.a")}),
+ sCfg({make_summary_field("array", "jsonstring", command::attribute_combiner, "array"),
+ make_summary_field("array_filtered", "jsonstring", command::matched_attribute_elements_filter, "array")}));
assertAttributeConfig({});
- assertSummaryConfig({make_summary_field("array", "jsonstring"), make_summary_field("array_filtered", "jsonstring", "matchedelementsfilter", "array")});
+ assertSummaryConfig({make_summary_field("array", "jsonstring"),
+ make_summary_field("array_filtered", "jsonstring", command::matched_elements_filter, "array")});
}
}