summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeir Storli <geirst@oath.com>2018-07-06 11:47:32 +0000
committerGeir Storli <geirst@oath.com>2018-07-06 11:47:32 +0000
commit6941144fcdeac8bf32b18098ea177c07ce13ac7d (patch)
treee1bb2b8a9fa9b232c051dbfb309d0b361fd5a475
parent610112d4be0016793c9bd3b79e73625e018afcff (diff)
Use default long field value instead of null when position field is not complete.
This ensures the same handling as regular attribute fields when clearing a field with an "assign: null" json update operation.
-rw-r--r--indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/ZCurveExpression.java2
-rw-r--r--indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/expressions/ZCurveTestCase.java10
2 files changed, 8 insertions, 4 deletions
diff --git a/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/ZCurveExpression.java b/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/ZCurveExpression.java
index b14c4371e6f..14a049a946d 100644
--- a/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/ZCurveExpression.java
+++ b/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/ZCurveExpression.java
@@ -22,7 +22,7 @@ public class ZCurveExpression extends Expression {
if (x != null && y != null) {
ctx.setValue(new LongFieldValue(ZCurve.encode(x, y)));
} else {
- ctx.setValue(null);
+ ctx.setValue(DataType.LONG.createFieldValue());
}
}
diff --git a/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/expressions/ZCurveTestCase.java b/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/expressions/ZCurveTestCase.java
index 11ae27667ff..860a30db610 100644
--- a/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/expressions/ZCurveTestCase.java
+++ b/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/expressions/ZCurveTestCase.java
@@ -41,8 +41,12 @@ public class ZCurveTestCase {
}
@Test
- public void requireThatMissingFieldEvaluatesToNull() {
- assertNull(new ZCurveExpression().execute(PositionDataType.valueOf(null, 9)));
- assertNull(new ZCurveExpression().execute(PositionDataType.valueOf(6, null)));
+ public void requireThatMissingFieldEvaluatesToDefaultValue() {
+ assertEquals(DataType.LONG.createFieldValue(),
+ new ZCurveExpression().execute(PositionDataType.valueOf(null, 9)));
+ assertEquals(DataType.LONG.createFieldValue(),
+ new ZCurveExpression().execute(PositionDataType.valueOf(6, null)));
+ assertEquals(DataType.LONG.createFieldValue(),
+ new ZCurveExpression().execute(PositionDataType.valueOf(null, null)));
}
}