summaryrefslogtreecommitdiffstats
path: root/searchcore
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2023-07-26 08:38:25 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2023-07-27 15:06:52 +0000
commitd67762498f30449669bb961bfb0b0744d86f0957 (patch)
tree52e7e76191603d66538550397789b33745959888 /searchcore
parent86f9adbaa720c8993ba61010a2ec5fae06ebe30d (diff)
Add noexcept
Diffstat (limited to 'searchcore')
-rw-r--r--searchcore/src/vespa/searchcore/proton/matching/querynodes.cpp42
-rw-r--r--searchcore/src/vespa/searchcore/proton/matching/querynodes.h12
-rw-r--r--searchcore/src/vespa/searchcore/proton/matching/viewresolver.cpp3
3 files changed, 26 insertions, 31 deletions
diff --git a/searchcore/src/vespa/searchcore/proton/matching/querynodes.cpp b/searchcore/src/vespa/searchcore/proton/matching/querynodes.cpp
index 661da4273f8..06e86f26b2e 100644
--- a/searchcore/src/vespa/searchcore/proton/matching/querynodes.cpp
+++ b/searchcore/src/vespa/searchcore/proton/matching/querynodes.cpp
@@ -19,22 +19,23 @@ using search::fef::MatchDataDetails;
using search::fef::MatchDataLayout;
using search::fef::TermFieldHandle;
using search::query::Node;
-using search::query::TemplateTermVisitor;
-using search::query::Weight;
-using search::queryeval::OrSearch;
-using search::queryeval::SearchIterator;
-using std::map;
-using std::vector;
using vespalib::string;
using vespalib::Issue;
namespace proton::matching {
-ProtonTermData::ProtonTermData() = default;
-ProtonTermData::ProtonTermData(const ProtonTermData &) = default;
-ProtonTermData & ProtonTermData::operator = (const ProtonTermData &) = default;
+ProtonTermData::ProtonTermData() noexcept = default;
ProtonTermData::~ProtonTermData() = default;
+namespace {
+
+bool
+is_attribute(FieldType type) {
+ return (type == FieldType::ATTRIBUTE) || (type == FieldType::HIDDEN_ATTRIBUTE);
+}
+
+}
+
void
ProtonTermData::propagate_document_frequency(uint32_t matching_doc_count, uint32_t total_doc_count)
{
@@ -44,10 +45,8 @@ ProtonTermData::propagate_document_frequency(uint32_t matching_doc_count, uint32
}
void
-ProtonTermData::resolve(const ViewResolver &resolver,
- const IIndexEnvironment &idxEnv,
- const string &view,
- bool forceFilter)
+ProtonTermData::resolve(const ViewResolver &resolver, const IIndexEnvironment &idxEnv,
+ const string &view, bool forceFilter)
{
std::vector<string> fields;
resolver.resolve(((view == "") ? "default" : view), fields);
@@ -55,12 +54,11 @@ ProtonTermData::resolve(const ViewResolver &resolver,
_fields.reserve(fields.size());
for (size_t i = 0; i < fields.size(); ++i) {
const FieldInfo *info = idxEnv.getFieldByName(fields[i]);
- if (info != 0) {
+ if (info != nullptr) {
_fields.emplace_back(fields[i], info->id());
- _fields.back().attribute_field =
- (info->type() == FieldType::ATTRIBUTE) ||
- (info->type() == FieldType::HIDDEN_ATTRIBUTE);
- _fields.back().filter_field = forceFilter ? true : info->isFilter();
+ FieldEntry & field = _fields.back();
+ field.attribute_field = is_attribute(info->type());
+ field.filter_field = forceFilter || info->isFilter();
} else {
LOG(debug, "ignoring undefined field: '%s'", fields[i].c_str());
}
@@ -72,16 +70,16 @@ ProtonTermData::resolveFromChildren(const std::vector<Node *> &subterms)
{
for (size_t i = 0; i < subterms.size(); ++i) {
const ProtonTermData *child = termDataFromNode(*subterms[i]);
- if (child == 0) {
+ if (child == nullptr) {
Issue::report("child of equiv is not a term");
continue;
}
for (size_t j = 0; j < child->numFields(); ++j) {
- FieldSpec subSpec = child->field(j).fieldSpec();
- if (lookupField(subSpec.getFieldId()) == 0) {
+ const FieldEntry & subSpec = child->field(j);
+ if (lookupField(subSpec.getFieldId()) == nullptr) {
// this must happen before handles are reserved
LOG_ASSERT(subSpec.getHandle() == search::fef::IllegalHandle);
- _fields.emplace_back(subSpec.getName(), subSpec.getFieldId());
+ _fields.emplace_back(subSpec.field_name, subSpec.getFieldId());
}
}
}
diff --git a/searchcore/src/vespa/searchcore/proton/matching/querynodes.h b/searchcore/src/vespa/searchcore/proton/matching/querynodes.h
index 0e01884d504..cc09d4e9e7d 100644
--- a/searchcore/src/vespa/searchcore/proton/matching/querynodes.h
+++ b/searchcore/src/vespa/searchcore/proton/matching/querynodes.h
@@ -30,13 +30,13 @@ public:
bool attribute_field;
bool filter_field;
- FieldEntry(const vespalib::string &name, uint32_t fieldId)
+ FieldEntry(const vespalib::string &name, uint32_t fieldId) noexcept
: SimpleTermFieldData(fieldId),
field_name(name),
attribute_field(false),
filter_field(false) {}
- [[nodiscard]] FieldSpec fieldSpec() const {
+ [[nodiscard]] FieldSpec fieldSpec() const noexcept {
return {field_name, getFieldId(), getHandle(), filter_field};
}
using SimpleTermFieldData::getHandle;
@@ -55,11 +55,9 @@ protected:
bool forceFilter);
public:
- ProtonTermData();
- ProtonTermData(const ProtonTermData &);
- ProtonTermData & operator = (const ProtonTermData &);
- ProtonTermData(ProtonTermData &&) = default;
- ProtonTermData & operator = (ProtonTermData &&) = default;
+ ProtonTermData() noexcept;
+ ProtonTermData(const ProtonTermData &) = delete;
+ ProtonTermData & operator = (const ProtonTermData &) = delete;
~ProtonTermData() override;
void resolveFromChildren(const std::vector<search::query::Node *> &children);
void allocateTerms(search::fef::MatchDataLayout &mdl);
diff --git a/searchcore/src/vespa/searchcore/proton/matching/viewresolver.cpp b/searchcore/src/vespa/searchcore/proton/matching/viewresolver.cpp
index 73b17c5e6ea..b3ccfd26569 100644
--- a/searchcore/src/vespa/searchcore/proton/matching/viewresolver.cpp
+++ b/searchcore/src/vespa/searchcore/proton/matching/viewresolver.cpp
@@ -31,8 +31,7 @@ ViewResolver::createFromSchema(const search::index::Schema &schema)
{
ViewResolver resolver;
for (uint32_t i = 0; i < schema.getNumFieldSets(); ++i) {
- const search::index::Schema::FieldSet
- &f = schema.getFieldSet(i);
+ const search::index::Schema::FieldSet &f = schema.getFieldSet(i);
const vespalib::string &view = f.getName();
const std::vector<vespalib::string> &fields = f.getFields();
for (uint32_t j = 0; j < fields.size(); ++j) {