summaryrefslogtreecommitdiffstats
path: root/vsm
diff options
context:
space:
mode:
authorArne H Juul <arnej@yahooinc.com>2022-02-04 16:22:22 +0000
committerArne H Juul <arnej@yahooinc.com>2022-02-04 16:23:37 +0000
commitfedb194a2ae5b98441170b41dabde0e243a44de5 (patch)
tree9f53a6d97e87e7e6dbbb0a2f912ba773864520f4 /vsm
parent9c29964bc758cf5b46699238fa05f10a780b499e (diff)
special case for PositionDataType
Diffstat (limited to 'vsm')
-rw-r--r--vsm/src/vespa/vsm/vsm/slimefieldwriter.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/vsm/src/vespa/vsm/vsm/slimefieldwriter.cpp b/vsm/src/vespa/vsm/vsm/slimefieldwriter.cpp
index 4a03c93127a..405f2292f5d 100644
--- a/vsm/src/vespa/vsm/vsm/slimefieldwriter.cpp
+++ b/vsm/src/vespa/vsm/vsm/slimefieldwriter.cpp
@@ -4,6 +4,8 @@
#include <vespa/searchlib/util/slime_output_raw_buf_adapter.h>
#include <vespa/vespalib/stllike/asciistream.h>
#include <vespa/vespalib/util/size_literals.h>
+#include <vespa/searchsummary/docsummary/resultconfig.h>
+#include <vespa/document/datatype/positiondatatype.h>
#include <vespa/log/log.h>
LOG_SETUP(".vsm.slimefieldwriter");
@@ -93,8 +95,9 @@ SlimeFieldWriter::traverseRecursive(const document::FieldValue & fv, Inserter &i
} else if (clazz.inherits(document::StructuredFieldValue::classId)) {
const document::StructuredFieldValue & sfv = static_cast<const document::StructuredFieldValue &>(fv);
Cursor &o = inserter.insertObject();
-#ifdef USE_V8_GEO_POSITION_RENDERING
- if (sfv.getDataType()->getName() == "position") {
+ if (sfv.getDataType() == &document::PositionDataType::getInstance()
+ && search::docsummary::ResultConfig::wantedV8geoPositions())
+ {
bool ok = true;
try {
int x = std::numeric_limits<int>::min();
@@ -121,7 +124,6 @@ SlimeFieldWriter::traverseRecursive(const document::FieldValue & fv, Inserter &i
// fallback to code below
}
}
-#endif
for (const document::Field & entry : sfv) {
if (explorePath(entry.getName())) {
_currPath.push_back(entry.getName());