diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2021-06-30 16:58:50 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2021-07-01 11:27:51 +0000 |
commit | c474c687512c5100c3a7aafdc72d813544904020 (patch) | |
tree | d9be88630c4b1ebaa83e3ef019fba37712060c3f /searchsummary | |
parent | c0e3cdf497db1d02f64b111d575b92e5371a8416 (diff) |
Allow presizing of arrays in slime.
Diffstat (limited to 'searchsummary')
-rw-r--r-- | searchsummary/src/vespa/searchsummary/docsummary/attributedfw.cpp | 2 | ||||
-rw-r--r-- | searchsummary/src/vespa/searchsummary/docsummary/matched_elements_filter_dfw.cpp | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/attributedfw.cpp b/searchsummary/src/vespa/searchsummary/docsummary/attributedfw.cpp index b600a612bb5..d41d4e0010c 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/attributedfw.cpp +++ b/searchsummary/src/vespa/searchsummary/docsummary/attributedfw.cpp @@ -210,9 +210,9 @@ MultiAttrDFW<DataType>::insertField(uint32_t docid, GetDocsumsState* state, ResT return; // Don't insert empty fields } - Cursor &arr = target.insertArray(); std::vector<DataType> elements(entries); entries = std::min(entries, attr.get(docid, elements.data(), entries)); + Cursor &arr = target.insertArray(entries); if (_filter_elements) { const auto& matching_elems = state->get_matching_elements(*_matching_elems_fields) 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 6991d3acb29..aa891680a09 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/matched_elements_filter_dfw.cpp +++ b/searchsummary/src/vespa/searchsummary/docsummary/matched_elements_filter_dfw.cpp @@ -107,7 +107,7 @@ filter_matching_elements_in_input_field(const Slime& input_field, const std::vec { SlimeInserter output_inserter(output_field); Inspector& input_inspector = input_field.get(); - ArrayInserter array_inserter(output_inserter.insertArray()); + ArrayInserter array_inserter(output_inserter.insertArray(matching_elems.size())); auto elems_itr = matching_elems.begin(); for (size_t i = 0; (i < input_inspector.entries()) && (elems_itr != matching_elems.end()); ++i) { assert(*elems_itr >= i); |