From 6941144fcdeac8bf32b18098ea177c07ce13ac7d Mon Sep 17 00:00:00 2001 From: Geir Storli Date: Fri, 6 Jul 2018 11:47:32 +0000 Subject: 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. --- .../vespa/indexinglanguage/expressions/ZCurveExpression.java | 2 +- .../vespa/indexinglanguage/expressions/ZCurveTestCase.java | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) (limited to 'indexinglanguage') 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))); } } -- cgit v1.2.3