summaryrefslogtreecommitdiffstats
path: root/searchsummary
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2022-02-05 13:39:32 +0100
committerGitHub <noreply@github.com>2022-02-05 13:39:32 +0100
commitb84ef936b1cedce0b99f79e03b2fe25a8db5f7c3 (patch)
tree60fa5fd8ae4031e425cf21dbe6379a01d162d29b /searchsummary
parent0455780c0a1ddb6fad0f5ac1d5c94a6932450815 (diff)
parent96b5709aeb365ff9a4979da596985365e4120f9f (diff)
Merge pull request #21080 from vespa-engine/arnej/remove-unused-rawbuf
GetDocsumsState _docSumFieldSpace no longer needed
Diffstat (limited to 'searchsummary')
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/docsumfieldwriter.cpp6
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/docsumstate.cpp2
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/docsumstate.h2
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.cpp13
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/dynamicteaserdfw.cpp6
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/juniperdfw.h2
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/matched_elements_filter_dfw.cpp11
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/resultclass.h2
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/textextractordfw.cpp4
9 files changed, 21 insertions, 27 deletions
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/docsumfieldwriter.cpp b/searchsummary/src/vespa/searchsummary/docsummary/docsumfieldwriter.cpp
index fada441f718..47d94a716f7 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/docsumfieldwriter.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/docsumfieldwriter.cpp
@@ -78,7 +78,7 @@ CopyDFW::Init(const ResultConfig & config, const char *inputField)
}
void
-CopyDFW::insertField(uint32_t /*docid*/, GeneralResult *gres, GetDocsumsState *state, ResType type,
+CopyDFW::insertField(uint32_t /*docid*/, GeneralResult *gres, GetDocsumsState *, ResType type,
vespalib::slime::Inserter &target)
{
int idx = gres->GetClass()->GetIndexFromEnumValue(_inputFieldEnumValue);
@@ -128,7 +128,7 @@ CopyDFW::insertField(uint32_t /*docid*/, GeneralResult *gres, GetDocsumsState *s
uint32_t len;
const char *spt;
// resolve field
- entry->_resolve_field(&spt, &len, &state->_docSumFieldSpace);
+ entry->_resolve_field(&spt, &len);
vespalib::Memory value(spt, len);
target.insertString(value);
break; }
@@ -139,7 +139,7 @@ CopyDFW::insertField(uint32_t /*docid*/, GeneralResult *gres, GetDocsumsState *s
uint32_t len;
const char *dpt;
// resolve field
- entry->_resolve_field(&dpt, &len, &state->_docSumFieldSpace);
+ entry->_resolve_field(&dpt, &len);
vespalib::Memory value(dpt, len);
target.insertData(value);
break; }
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/docsumstate.cpp b/searchsummary/src/vespa/searchsummary/docsummary/docsumstate.cpp
index 31d174c72a8..4f1634042c1 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/docsumstate.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/docsumstate.cpp
@@ -30,8 +30,6 @@ GetDocsumsState::GetDocsumsState(GetDocsumsStateCallback &callback)
_keywords(nullptr),
_callback(callback),
_dynteaser(),
- _docSumFieldSpaceStore(),
- _docSumFieldSpace(_docSumFieldSpaceStore, sizeof(_docSumFieldSpaceStore)), // only alloc buffer if needed
_attrCtx(),
_attributes(),
_fieldWriterStates(),
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/docsumstate.h b/searchsummary/src/vespa/searchsummary/docsummary/docsumstate.h
index cbb6925c1e0..85d24d25c62 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/docsumstate.h
+++ b/searchsummary/src/vespa/searchsummary/docsummary/docsumstate.h
@@ -71,8 +71,6 @@ public:
} _dynteaser;
- char _docSumFieldSpaceStore[2048];
- search::RawBuf _docSumFieldSpace;
std::unique_ptr<search::attribute::IAttributeContext> _attrCtx;
std::vector<const search::attribute::IAttributeVector *> _attributes;
std::vector<std::unique_ptr<DocsumFieldWriterState>> _fieldWriterStates;
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.cpp b/searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.cpp
index 666c5098ca4..e7a9840c47f 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/docsumwriter.cpp
@@ -84,8 +84,7 @@ DynamicDocsumWriter::resolveInputClass(ResolveClassInfo &rci, uint32_t id) const
constexpr uint32_t default_32bits_int = search::attribute::getUndefined<int32_t>();
constexpr uint64_t default_64bits_int = search::attribute::getUndefined<int64_t>();
-static void convertEntry(GetDocsumsState *state,
- const ResConfigEntry *resCfg,
+static void convertEntry(const ResConfigEntry *resCfg,
const ResEntry *entry,
Inserter &inserter,
Slime &slime)
@@ -120,7 +119,7 @@ static void convertEntry(GetDocsumsState *state,
case RES_STRING:
case RES_LONG_STRING:
case RES_FEATUREDATA:
- entry->_resolve_field(&ptr, &len, &state->_docSumFieldSpace);
+ entry->_resolve_field(&ptr, &len);
if (len != 0) {
inserter.insertString(Memory(ptr, len));
}
@@ -128,13 +127,13 @@ static void convertEntry(GetDocsumsState *state,
case RES_DATA:
case RES_TENSOR:
case RES_LONG_DATA:
- entry->_resolve_field(&ptr, &len, &state->_docSumFieldSpace);
+ entry->_resolve_field(&ptr, &len);
if (len != 0) {
inserter.insertData(Memory(ptr, len));
}
break;
case RES_JSONSTRING:
- entry->_resolve_field(&ptr, &len, &state->_docSumFieldSpace);
+ entry->_resolve_field(&ptr, &len);
if (len != 0) {
// note: 'JSONSTRING' really means 'structured data'
size_t d = BinaryFormat::decode_into(Memory(ptr, len), slime, inserter);
@@ -185,7 +184,7 @@ DynamicDocsumWriter::insertDocsum(const ResolveClassInfo & rci, uint32_t docid,
}
} else {
if (rci.inputClass == rci.outputClass) {
- convertEntry(state, outCfg, gres.GetEntry(i), inserter, slime);
+ convertEntry(outCfg, gres.GetEntry(i), inserter, slime);
} else {
int inIdx = rci.inputClass->GetIndexFromEnumValue(outCfg->_enumValue);
const ResConfigEntry *inCfg = rci.inputClass->GetEntry(inIdx);
@@ -193,7 +192,7 @@ DynamicDocsumWriter::insertDocsum(const ResolveClassInfo & rci, uint32_t docid,
// copy field
const ResEntry *entry = gres.GetEntry(inIdx);
LOG_ASSERT(entry != nullptr);
- convertEntry(state, outCfg, entry, inserter, slime);
+ convertEntry(outCfg, entry, inserter, slime);
}
}
}
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/dynamicteaserdfw.cpp b/searchsummary/src/vespa/searchsummary/docsummary/dynamicteaserdfw.cpp
index f9301557c0c..ef1ffded941 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/dynamicteaserdfw.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/dynamicteaserdfw.cpp
@@ -345,13 +345,13 @@ JuniperTeaserDFW::Init(
}
vespalib::stringref
-DynamicTeaserDFW::getJuniperInput(GeneralResult *gres, GetDocsumsState *state) {
+DynamicTeaserDFW::getJuniperInput(GeneralResult *gres) {
int idx = gres->GetClass()->GetIndexFromEnumValue(_inputFieldEnumValue);
ResEntry *entry = gres->GetEntry(idx);
if (entry != nullptr) {
const char *buf;
uint32_t buflen;
- entry->_resolve_field(&buf, &buflen, &state->_docSumFieldSpace);
+ entry->_resolve_field(&buf, &buflen);
return vespalib::stringref(buf, buflen);
}
return vespalib::stringref();
@@ -428,7 +428,7 @@ void
DynamicTeaserDFW::insertField(uint32_t docid, GeneralResult *gres, GetDocsumsState *state, ResType,
vespalib::slime::Inserter &target)
{
- vespalib::stringref input = getJuniperInput(gres, state);
+ vespalib::stringref input = getJuniperInput(gres);
if (input.length() > 0) {
vespalib::string teaser = makeDynamicTeaser(docid, input, state);
vespalib::Memory value(teaser.c_str(), teaser.size());
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/juniperdfw.h b/searchsummary/src/vespa/searchsummary/docsummary/juniperdfw.h
index f9a6a56e01a..d9a657038c4 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/juniperdfw.h
+++ b/searchsummary/src/vespa/searchsummary/docsummary/juniperdfw.h
@@ -49,7 +49,7 @@ class DynamicTeaserDFW : public JuniperTeaserDFW
public:
DynamicTeaserDFW(juniper::Juniper * juniper) : JuniperTeaserDFW(juniper) { }
- vespalib::stringref getJuniperInput(GeneralResult *gres, GetDocsumsState *state);
+ vespalib::stringref getJuniperInput(GeneralResult *gres);
vespalib::string makeDynamicTeaser(uint32_t docid,
vespalib::stringref input,
GetDocsumsState *state);
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/matched_elements_filter_dfw.cpp b/searchsummary/src/vespa/searchsummary/docsummary/matched_elements_filter_dfw.cpp
index 916f39a2b98..2c2ce860e39 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/matched_elements_filter_dfw.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/matched_elements_filter_dfw.cpp
@@ -65,11 +65,11 @@ MatchedElementsFilterDFW::~MatchedElementsFilterDFW() = default;
namespace {
void
-decode_input_field_to_slime(const ResEntry& entry, search::RawBuf& target_buf, Slime& input_field_as_slime)
+decode_input_field_to_slime(const ResEntry& entry, Slime& input_field_as_slime)
{
const char* buf;
uint32_t buf_len;
- entry._resolve_field(&buf, &buf_len, &target_buf);
+ entry._resolve_field(&buf, &buf_len);
BinaryFormat::decode(vespalib::Memory(buf, buf_len), input_field_as_slime);
}
@@ -91,12 +91,11 @@ filter_matching_elements_in_input_field_while_converting_to_slime(const FieldVal
}
bool
-resolve_input_field_as_slime(GeneralResult& result, GetDocsumsState& state,
- int entry_idx, Slime& input_field_as_slime)
+resolve_input_field_as_slime(GeneralResult& result, int entry_idx, Slime& input_field_as_slime)
{
ResEntry* entry = result.GetEntry(entry_idx);
if (entry != nullptr) {
- decode_input_field_to_slime(*entry, state._docSumFieldSpace, input_field_as_slime);
+ decode_input_field_to_slime(*entry, input_field_as_slime);
return true;
}
return false;
@@ -127,7 +126,7 @@ MatchedElementsFilterDFW::insertField(uint32_t docid, GeneralResult* result, Get
assert(type == ResType::RES_JSONSTRING);
int entry_idx = result->GetClass()->GetIndexFromEnumValue(_input_field_enum);
Slime input_field;
- if (resolve_input_field_as_slime(*result, *state, entry_idx, input_field)) {
+ if (resolve_input_field_as_slime(*result, entry_idx, input_field)) {
Slime output_field;
filter_matching_elements_in_input_field(input_field, get_matching_elements(docid, *state), output_field);
inject(output_field.get(), target);
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/resultclass.h b/searchsummary/src/vespa/searchsummary/docsummary/resultclass.h
index 547c21d7a3f..be3bb7570d2 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/resultclass.h
+++ b/searchsummary/src/vespa/searchsummary/docsummary/resultclass.h
@@ -80,7 +80,7 @@ struct ResEntry
memcpy(&rlen, _pt, sizeof(rlen));
return rlen;
}
- void _resolve_field(const char **buf, uint32_t *buflen, search::RawBuf *) const
+ void _resolve_field(const char **buf, uint32_t *buflen) const
{
// precond: IsVariableSize(_type)
*buf = (char *) _pt;
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/textextractordfw.cpp b/searchsummary/src/vespa/searchsummary/docsummary/textextractordfw.cpp
index c7c6984d792..c85a4fb5788 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/textextractordfw.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/textextractordfw.cpp
@@ -27,7 +27,7 @@ TextExtractorDFW::init(const vespalib::string & fieldName, const vespalib::strin
}
void
-TextExtractorDFW::insertField(uint32_t, GeneralResult *gres, GetDocsumsState *state, ResType,
+TextExtractorDFW::insertField(uint32_t, GeneralResult *gres, GetDocsumsState *, ResType,
vespalib::slime::Inserter &target)
{
vespalib::string extracted;
@@ -35,7 +35,7 @@ TextExtractorDFW::insertField(uint32_t, GeneralResult *gres, GetDocsumsState *st
if (entry != nullptr) {
const char * buf = nullptr;
uint32_t buflen = 0;
- entry->_resolve_field(&buf, &buflen, &state->_docSumFieldSpace);
+ entry->_resolve_field(&buf, &buflen);
// extract the text
Tokenizer tokenizer(buf, buflen);
while (tokenizer.hasMoreTokens()) {