summaryrefslogtreecommitdiffstats
path: root/document
diff options
context:
space:
mode:
authorHåvard Pettersen <havardpe@oath.com>2020-12-10 15:31:35 +0000
committerHåvard Pettersen <havardpe@oath.com>2021-01-05 12:18:35 +0000
commit74665956e649cb28682ba25d4f2089a7fae5087e (patch)
treeb89c61226566a11e13adb38430ba841d5a20ae0e /document
parent6438e2f64460178525a42fcfdaf207e264a020ef (diff)
use string ids as tensor labels
Diffstat (limited to 'document')
-rw-r--r--document/src/test/resources/tensor/multi_cell_tensor__cppbin107 -> 107 bytes
-rw-r--r--document/src/vespa/document/update/tensor_partial_update.cpp12
2 files changed, 7 insertions, 5 deletions
diff --git a/document/src/test/resources/tensor/multi_cell_tensor__cpp b/document/src/test/resources/tensor/multi_cell_tensor__cpp
index deb53463fb5..9adda236a4a 100644
--- a/document/src/test/resources/tensor/multi_cell_tensor__cpp
+++ b/document/src/test/resources/tensor/multi_cell_tensor__cpp
Binary files differ
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,