summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@oath.com>2019-01-04 13:49:02 +0100
committergjoranv <gv@oath.com>2019-01-21 15:09:30 +0100
commit21c6924e98b35a93edc3322296a8d7a3bfd39a2c (patch)
treee7511afd14c4e2a34b1582b32596e376ac6a67a5
parentcfe2b69068f5d022ea6cf3cfd22b86f1bcf49e94 (diff)
Remove ymum from grouping
-rw-r--r--container-search/src/main/java/com/yahoo/search/grouping/request/YmumValue.java30
-rw-r--r--container-search/src/main/java/com/yahoo/search/grouping/vespa/ExpressionConverter.java5
-rw-r--r--container-search/src/main/javacc/com/yahoo/search/grouping/request/parser/GroupingParser.jj9
-rw-r--r--container-search/src/test/java/com/yahoo/search/grouping/request/parser/GroupingParserBenchmarkTest.java1
-rw-r--r--container-search/src/test/java/com/yahoo/search/grouping/request/parser/GroupingParserTestCase.java2
-rw-r--r--container-search/src/test/java/com/yahoo/search/grouping/vespa/RequestBuilderTestCase.java1
-rw-r--r--searchlib/src/main/java/com/yahoo/searchlib/expression/ForceLoad.java1
-rw-r--r--searchlib/src/main/java/com/yahoo/searchlib/expression/GetYMUMChecksumFunctionNode.java60
-rw-r--r--searchlib/src/test/files/testSpecialNodesbin93 -> 77 bytes
-rw-r--r--searchlib/src/test/java/com/yahoo/searchlib/aggregation/GroupingSerializationTest.java11
-rw-r--r--searchlib/src/test/java/com/yahoo/searchlib/expression/ExpressionTestCase.java19
-rw-r--r--searchlib/src/tests/grouping/grouping_serialization_test.cpp1
12 files changed, 6 insertions, 134 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/YmumValue.java b/container-search/src/main/java/com/yahoo/search/grouping/request/YmumValue.java
deleted file mode 100644
index 8ca772b9188..00000000000
--- a/container-search/src/main/java/com/yahoo/search/grouping/request/YmumValue.java
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-package com.yahoo.search.grouping.request;
-
-/**
- * This class represents a document checksum in a {@link GroupingExpression}. It evaluates to the YMUM checksum of the
- * input {@link com.yahoo.search.result.Hit}.
- *
- * @author Simon Thoresen Hult
- * @author bratseth
- */
-public class YmumValue extends DocumentValue {
-
- /**
- * Constructs a new instance of this class.
- */
- public YmumValue() {
- this(null, null);
- }
-
- private YmumValue(String label, Integer level) {
- super("ymum()", label, level);
- }
-
- @Override
- public YmumValue copy() {
- return new YmumValue(getLabel(), getLevelOrNull());
- }
-
-}
-
diff --git a/container-search/src/main/java/com/yahoo/search/grouping/vespa/ExpressionConverter.java b/container-search/src/main/java/com/yahoo/search/grouping/vespa/ExpressionConverter.java
index d017fe2edb3..d5d1bb5b18e 100644
--- a/container-search/src/main/java/com/yahoo/search/grouping/vespa/ExpressionConverter.java
+++ b/container-search/src/main/java/com/yahoo/search/grouping/vespa/ExpressionConverter.java
@@ -85,7 +85,6 @@ import com.yahoo.search.grouping.request.XorAggregator;
import com.yahoo.search.grouping.request.XorBitFunction;
import com.yahoo.search.grouping.request.XorFunction;
import com.yahoo.search.grouping.request.YearFunction;
-import com.yahoo.search.grouping.request.YmumValue;
import com.yahoo.search.grouping.request.ZCurveXFunction;
import com.yahoo.search.grouping.request.ZCurveYFunction;
import com.yahoo.searchlib.aggregation.AggregationResult;
@@ -115,7 +114,6 @@ import com.yahoo.searchlib.expression.FloatBucketResultNode;
import com.yahoo.searchlib.expression.FloatBucketResultNodeVector;
import com.yahoo.searchlib.expression.FloatResultNode;
import com.yahoo.searchlib.expression.GetDocIdNamespaceSpecificFunctionNode;
-import com.yahoo.searchlib.expression.GetYMUMChecksumFunctionNode;
import com.yahoo.searchlib.expression.IntegerBucketResultNode;
import com.yahoo.searchlib.expression.IntegerBucketResultNodeVector;
import com.yahoo.searchlib.expression.IntegerResultNode;
@@ -522,9 +520,6 @@ class ExpressionConverter {
return new XorBitFunctionNode().setNumBits(((XorBitFunction)exp).getNumBits())
.addArg(toExpressionNode(((XorBitFunction)exp).getArg(0)));
}
- if (exp instanceof YmumValue) {
- return new GetYMUMChecksumFunctionNode();
- }
throw new UnsupportedOperationException("Can not convert '" + exp + "' of class " + exp.getClass().getName() +
" to an expression.");
}
diff --git a/container-search/src/main/javacc/com/yahoo/search/grouping/request/parser/GroupingParser.jj b/container-search/src/main/javacc/com/yahoo/search/grouping/request/parser/GroupingParser.jj
index 6a55a32eb8a..e1df35bb24a 100644
--- a/container-search/src/main/javacc/com/yahoo/search/grouping/request/parser/GroupingParser.jj
+++ b/container-search/src/main/javacc/com/yahoo/search/grouping/request/parser/GroupingParser.jj
@@ -169,7 +169,6 @@ TOKEN :
<XOR: "xor"> |
<XORBIT: "xorbit"> |
<Y: "y"> |
- <YMUM: "ymum"> |
<ZCURVE: "zcurve"> |
<IDENTIFIER: ["A"-"Z","a"-"z"](["A"-"Z","a"-"z","0"-"9","_","@"])*>
}
@@ -374,7 +373,6 @@ GroupingExpression value(GroupingOperation grp) :
exp = ucaFunction(grp) |
exp = xorExpression(grp) |
exp = xorBitFunction(grp) |
- exp = ymumValue() |
exp = zcurveFunction(grp) ) |
( exp = attributeValue() ) )
{ return exp; }
@@ -912,12 +910,6 @@ XorBitFunction xorBitFunction(GroupingOperation grp) :
{ return new XorBitFunction(exp, num.intValue()); }
}
-YmumValue ymumValue() : { }
-{
- ( <YMUM> lbrace() rbrace() )
- { return new YmumValue(); }
-}
-
void bucket(GroupingOperation grp, BucketResolver resolver) :
{
ConstantValue from, to = null;
@@ -1076,7 +1068,6 @@ String identifier() :
<XOR> |
<XORBIT> |
<Y> |
- <YMUM> |
<ZCURVE> ) { ret = token.image; } space() )
{ return ret; }
}
diff --git a/container-search/src/test/java/com/yahoo/search/grouping/request/parser/GroupingParserBenchmarkTest.java b/container-search/src/test/java/com/yahoo/search/grouping/request/parser/GroupingParserBenchmarkTest.java
index 60ada5124a0..326e37ede38 100644
--- a/container-search/src/test/java/com/yahoo/search/grouping/request/parser/GroupingParserBenchmarkTest.java
+++ b/container-search/src/test/java/com/yahoo/search/grouping/request/parser/GroupingParserBenchmarkTest.java
@@ -203,7 +203,6 @@ public class GroupingParserBenchmarkTest {
"all(group(artist) max(2) each(each(output(summary()))))",
"all(group(artist) max(2) each(each(output(summary(simple)))))",
"all(group(artist) max(5) each(output(count()) each(output(summary()))))",
- "all(group(ymum()))",
"all(group(strlen(attr)))",
"all(group(normalizesubject(attr)))",
"all(group(strcat(attr, attr2)))",
diff --git a/container-search/src/test/java/com/yahoo/search/grouping/request/parser/GroupingParserTestCase.java b/container-search/src/test/java/com/yahoo/search/grouping/request/parser/GroupingParserTestCase.java
index fcf1c3bcdd0..5d311361edf 100644
--- a/container-search/src/test/java/com/yahoo/search/grouping/request/parser/GroupingParserTestCase.java
+++ b/container-search/src/test/java/com/yahoo/search/grouping/request/parser/GroupingParserTestCase.java
@@ -150,7 +150,6 @@ public class GroupingParserTestCase {
"xor",
"xorbit",
"y",
- "ymum",
"zcurve");
for (String image : images) {
assertParse("all(group(" + image + "))", "all(group(" + image + "))");
@@ -512,7 +511,6 @@ public class GroupingParserTestCase {
assertParse("all(group(artist) max(2) each(each(output(summary()))))");
assertParse("all(group(artist) max(2) each(each(output(summary(simple)))))");
assertParse("all(group(artist) max(5) each(output(count()) each(output(summary()))))");
- assertParse("all(group(ymum()))");
assertParse("all(group(strlen(attr)))");
assertParse("all(group(normalizesubject(attr)))");
assertParse("all(group(strcat(attr, attr2)))");
diff --git a/container-search/src/test/java/com/yahoo/search/grouping/vespa/RequestBuilderTestCase.java b/container-search/src/test/java/com/yahoo/search/grouping/vespa/RequestBuilderTestCase.java
index c64c4d624f2..f61299bd317 100644
--- a/container-search/src/test/java/com/yahoo/search/grouping/vespa/RequestBuilderTestCase.java
+++ b/container-search/src/test/java/com/yahoo/search/grouping/vespa/RequestBuilderTestCase.java
@@ -160,7 +160,6 @@ public class RequestBuilderTestCase {
assertLayout("all(group(time.year(a)) each(output(count())))", "[[{ TimeStamp, result = [Count] }]]");
assertLayout("all(group(xor(a,b)) each(output(count())))", "[[{ Xor, result = [Count] }]]");
assertLayout("all(group(xorbit(a,1)) each(output(count())))", "[[{ XorBit, result = [Count] }]]");
- assertLayout("all(group(ymum()) each(output(count())))", "[[{ GetYMUMChecksum, result = [Count] }]]");
}
@Test
diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/ForceLoad.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/ForceLoad.java
index 1144b01f638..ca53c6133be 100644
--- a/searchlib/src/main/java/com/yahoo/searchlib/expression/ForceLoad.java
+++ b/searchlib/src/main/java/com/yahoo/searchlib/expression/ForceLoad.java
@@ -37,7 +37,6 @@ public class ForceLoad {
"BitFunctionNode",
"FixedWidthBucketFunctionNode",
"RangeBucketPreDefFunctionNode",
- "GetYMUMChecksumFunctionNode",
"DocumentFieldNode",
"NullResultNode",
"FunctionNode",
diff --git a/searchlib/src/main/java/com/yahoo/searchlib/expression/GetYMUMChecksumFunctionNode.java b/searchlib/src/main/java/com/yahoo/searchlib/expression/GetYMUMChecksumFunctionNode.java
deleted file mode 100644
index 9fb47d0401c..00000000000
--- a/searchlib/src/main/java/com/yahoo/searchlib/expression/GetYMUMChecksumFunctionNode.java
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-package com.yahoo.searchlib.expression;
-
-import com.yahoo.vespa.objects.Deserializer;
-import com.yahoo.vespa.objects.ObjectVisitor;
-import com.yahoo.vespa.objects.Serializer;
-
-/**
- * This node is a request to retrieve the YMUM checksum of a document.
- *
- * @author baldersheim
- * @author Simon Thoresen Hult
- */
-public class GetYMUMChecksumFunctionNode extends DocumentAccessorNode {
-
- public static final int classId = registerClass(0x4000 + 74, GetYMUMChecksumFunctionNode.class);
- private IntegerResultNode result = new IntegerResultNode(0);
-
- @Override
- public ResultNode getResult() {
- return result;
- }
-
- @Override
- protected int onGetClassId() {
- return classId;
- }
-
- @Override
- protected void onSerialize(Serializer buf) {
- super.onSerialize(buf);
- result.serialize(buf);
- }
-
- @Override
- protected void onDeserialize(Deserializer buf) {
- super.onDeserialize(buf);
- result.deserialize(buf);
- }
-
- @Override
- public GetYMUMChecksumFunctionNode clone() {
- GetYMUMChecksumFunctionNode obj = (GetYMUMChecksumFunctionNode)super.clone();
- if (result != null) {
- obj.result = (IntegerResultNode)result.clone();
- }
- return obj;
- }
-
- @Override
- public void visitMembers(ObjectVisitor visitor) {
- super.visitMembers(visitor);
- visitor.visit("result", result);
- }
-
- @Override
- protected boolean equalsExpression(ExpressionNode obj) {
- return equals(result, ((GetYMUMChecksumFunctionNode)obj).result);
- }
-}
diff --git a/searchlib/src/test/files/testSpecialNodes b/searchlib/src/test/files/testSpecialNodes
index 149cc17f99b..d1a65b16666 100644
--- a/searchlib/src/test/files/testSpecialNodes
+++ b/searchlib/src/test/files/testSpecialNodes
Binary files differ
diff --git a/searchlib/src/test/java/com/yahoo/searchlib/aggregation/GroupingSerializationTest.java b/searchlib/src/test/java/com/yahoo/searchlib/aggregation/GroupingSerializationTest.java
index 969bc318391..b9d3bc3bd4d 100644
--- a/searchlib/src/test/java/com/yahoo/searchlib/aggregation/GroupingSerializationTest.java
+++ b/searchlib/src/test/java/com/yahoo/searchlib/aggregation/GroupingSerializationTest.java
@@ -72,7 +72,6 @@ public class GroupingSerializationTest {
t.assertMatch(new AttributeNode("testattribute"));
t.assertMatch(new DocumentFieldNode("testdocumentfield"));
t.assertMatch(new GetDocIdNamespaceSpecificFunctionNode(new IntegerResultNode(7)));
- t.assertMatch(new GetYMUMChecksumFunctionNode());
}
}
@@ -363,11 +362,13 @@ public class GroupingSerializationTest {
@Override
public void close() throws IOException {
- boolean moreDataAvailable = in.read() != -1;
+ int bytesLeft = 0;
+ while (in.read() != -1)
+ bytesLeft++;
in.close();
- if (moreDataAvailable) {
- fail("The file was not fully consumed. Did you forget to deserialize an object on Java side?");
- }
+ if (bytesLeft > 0)
+ fail(FILE_PATH + "/" + fileName + " has " + bytesLeft + " bytes left. " +
+ "Did you forget to deserialize an object on Java side?");
}
private static String toHexString(byte[] data) {
diff --git a/searchlib/src/test/java/com/yahoo/searchlib/expression/ExpressionTestCase.java b/searchlib/src/test/java/com/yahoo/searchlib/expression/ExpressionTestCase.java
index 1fa012c83f7..d282dc17aaa 100644
--- a/searchlib/src/test/java/com/yahoo/searchlib/expression/ExpressionTestCase.java
+++ b/searchlib/src/test/java/com/yahoo/searchlib/expression/ExpressionTestCase.java
@@ -401,25 +401,6 @@ public class ExpressionTestCase {
}
@Test
- public void testGetYMUMChecksumFunctionNode() {
- GetYMUMChecksumFunctionNode a = new GetYMUMChecksumFunctionNode();
- assertTrue(a.getResult() instanceof IntegerResultNode);
- assertSerialize(a);
- try {
- new GetYMUMChecksumFunctionNode().prepare();
- fail("Should not be able to prepare documentfieldnode");
- } catch (RuntimeException e) {
- // expected
- }
- try {
- new GetYMUMChecksumFunctionNode().execute();
- fail("Should not be able to execute documentfieldnode");
- } catch (RuntimeException e) {
- // expected
- }
- }
-
- @Test
public void testIntegerResultNode() {
IntegerResultNode a = new IntegerResultNode(7);
assertEquals(a.getInteger(), 7);
diff --git a/searchlib/src/tests/grouping/grouping_serialization_test.cpp b/searchlib/src/tests/grouping/grouping_serialization_test.cpp
index cdf8eb61381..e430559d74e 100644
--- a/searchlib/src/tests/grouping/grouping_serialization_test.cpp
+++ b/searchlib/src/tests/grouping/grouping_serialization_test.cpp
@@ -146,7 +146,6 @@ TEST_F("testSpecialNodes", Fixture("testSpecialNodes")) {
f.checkObject(GetDocIdNamespaceSpecificFunctionNode(
ResultNode::UP(new Int64ResultNode(7))));
}
- f.checkObject(GetYMUMChecksumFunctionNode());
}
TEST_F("testFunctionNodes", Fixture("testFunctionNodes")) {