summaryrefslogtreecommitdiffstats
path: root/document
diff options
context:
space:
mode:
authorHåvard Pettersen <havardpe@oath.com>2019-07-02 12:20:26 +0000
committerHåvard Pettersen <havardpe@oath.com>2019-07-02 12:20:26 +0000
commit9b450eea11aa4be0f1296dadf549cc6d70ba41c2 (patch)
tree0603d27f46d0f05f7eab182c07c377cd5982505f /document
parent0d3377e5746e0fbebe3ca9db1915ae0e8792aeda (diff)
only equal types can be assigned
error type fields can not be assigned to
Diffstat (limited to 'document')
-rw-r--r--document/src/vespa/document/datatype/tensor_data_type.cpp16
1 files changed, 2 insertions, 14 deletions
diff --git a/document/src/vespa/document/datatype/tensor_data_type.cpp b/document/src/vespa/document/datatype/tensor_data_type.cpp
index 2608f1227da..e7d7cd7393e 100644
--- a/document/src/vespa/document/datatype/tensor_data_type.cpp
+++ b/document/src/vespa/document/datatype/tensor_data_type.cpp
@@ -58,22 +58,10 @@ TensorDataType::isAssignableType(const ValueType &tensorType) const
bool
TensorDataType::isAssignableType(const ValueType &fieldTensorType, const ValueType &tensorType)
{
- const auto &dimensions = fieldTensorType.dimensions();
- const auto &rhsDimensions = tensorType.dimensions();
- if (!tensorType.is_tensor() || dimensions.size() != rhsDimensions.size()) {
+ if (fieldTensorType.is_error()) {
return false;
}
- for (size_t i = 0; i < dimensions.size(); ++i) {
- const auto &dim = dimensions[i];
- const auto &rhsDim = rhsDimensions[i];
- if ((dim.name != rhsDim.name) ||
- (dim.is_indexed() != rhsDim.is_indexed()) ||
- (rhsDim.is_indexed() && !rhsDim.is_bound()) ||
- (dim.is_bound() && (dim.size != rhsDim.size))) {
- return false;
- }
- }
- return true;
+ return (fieldTensorType == tensorType);
}
} // document