summaryrefslogtreecommitdiffstats
path: root/document/src/vespa/document/update/tensor_partial_update.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'document/src/vespa/document/update/tensor_partial_update.cpp')
-rw-r--r--document/src/vespa/document/update/tensor_partial_update.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/document/src/vespa/document/update/tensor_partial_update.cpp b/document/src/vespa/document/update/tensor_partial_update.cpp
index fbc60cc09af..f763c92741c 100644
--- a/document/src/vespa/document/update/tensor_partial_update.cpp
+++ b/document/src/vespa/document/update/tensor_partial_update.cpp
@@ -5,6 +5,7 @@
#include <vespa/vespalib/util/overload.h>
#include <vespa/vespalib/util/typify.h>
#include <vespa/vespalib/util/visit_ranges.h>
+#include <vespa/vespalib/util/shared_string_repo.h>
#include <cassert>
#include <set>
@@ -43,7 +44,8 @@ struct DenseCoords {
}
~DenseCoords();
void clear() { offset = 0; current = 0; }
- void convert_label(vespalib::stringref label) {
+ void convert_label(label_t label_id) {
+ vespalib::string label = SharedStringRepo::Handle::string_from_id(label_id);
uint32_t coord = 0;
for (char c : label) {
if (c < '0' || c > '9') { // bad char
@@ -71,9 +73,9 @@ struct DenseCoords {
DenseCoords::~DenseCoords() = default;
struct SparseCoords {
- std::vector<vespalib::stringref> addr;
- std::vector<vespalib::stringref *> next_result_refs;
- std::vector<const vespalib::stringref *> lookup_refs;
+ std::vector<label_t> addr;
+ std::vector<label_t *> next_result_refs;
+ std::vector<const label_t *> lookup_refs;
std::vector<size_t> lookup_view_dims;
SparseCoords(size_t sz)
: addr(sz), next_result_refs(sz), lookup_refs(sz), lookup_view_dims(sz)
@@ -327,7 +329,7 @@ calc_mapped_dimension_indexes(const ValueType& input_type,
struct ModifierCoords {
- std::vector<const vespalib::stringref *> lookup_refs;
+ std::vector<const label_t *> lookup_refs;
std::vector<size_t> lookup_view_dims;
ModifierCoords(const SparseCoords& input_coords,