summaryrefslogtreecommitdiffstats
path: root/document
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2019-08-06 16:55:57 +0200
committerHenning Baldersheim <balder@yahoo-inc.com>2019-08-06 16:55:57 +0200
commit79b0d4ae1eb9fd8294e3d46e884afd044b46b283 (patch)
treebb942f23ec60a73789b33c2658b4fed157f0602c /document
parenta3118293c12db437b83abddac401199ee4408172 (diff)
Remove long gone searchcolumn.
Diffstat (limited to 'document')
-rw-r--r--document/src/main/java/com/yahoo/document/select/NowCheckVisitor.java4
-rw-r--r--document/src/main/java/com/yahoo/document/select/Visitor.java36
-rw-r--r--document/src/main/java/com/yahoo/document/select/convert/SelectionExpressionConverter.java6
-rw-r--r--document/src/main/java/com/yahoo/document/select/rule/ComparisonNode.java27
-rw-r--r--document/src/main/java/com/yahoo/document/select/rule/SearchColumnNode.java61
-rwxr-xr-xdocument/src/main/javacc/SelectParser.jj12
-rw-r--r--document/src/test/java/com/yahoo/document/select/BucketSelectorTestCase.java2
-rw-r--r--document/src/test/java/com/yahoo/document/select/DocumentSelectorTestCase.java7
-rw-r--r--document/src/vespa/document/select/visitor.h1
9 files changed, 23 insertions, 133 deletions
diff --git a/document/src/main/java/com/yahoo/document/select/NowCheckVisitor.java b/document/src/main/java/com/yahoo/document/select/NowCheckVisitor.java
index fd799e36a70..28d88d2f746 100644
--- a/document/src/main/java/com/yahoo/document/select/NowCheckVisitor.java
+++ b/document/src/main/java/com/yahoo/document/select/NowCheckVisitor.java
@@ -11,7 +11,6 @@ import com.yahoo.document.select.rule.LiteralNode;
import com.yahoo.document.select.rule.LogicNode;
import com.yahoo.document.select.rule.NegationNode;
import com.yahoo.document.select.rule.NowNode;
-import com.yahoo.document.select.rule.SearchColumnNode;
import com.yahoo.document.select.rule.VariableNode;
/**
@@ -69,9 +68,6 @@ public class NowCheckVisitor implements Visitor {
nowNodeCount++;
}
- public void visit(SearchColumnNode node) {
- }
-
public void visit(VariableNode node) {
}
}
diff --git a/document/src/main/java/com/yahoo/document/select/Visitor.java b/document/src/main/java/com/yahoo/document/select/Visitor.java
index 0ef94fd22d4..0c01189e651 100644
--- a/document/src/main/java/com/yahoo/document/select/Visitor.java
+++ b/document/src/main/java/com/yahoo/document/select/Visitor.java
@@ -1,7 +1,18 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.document.select;
-import com.yahoo.document.select.rule.*;
+
+import com.yahoo.document.select.rule.ArithmeticNode;
+import com.yahoo.document.select.rule.AttributeNode;
+import com.yahoo.document.select.rule.ComparisonNode;
+import com.yahoo.document.select.rule.DocumentNode;
+import com.yahoo.document.select.rule.EmbracedNode;
+import com.yahoo.document.select.rule.IdNode;
+import com.yahoo.document.select.rule.LiteralNode;
+import com.yahoo.document.select.rule.LogicNode;
+import com.yahoo.document.select.rule.NegationNode;
+import com.yahoo.document.select.rule.NowNode;
+import com.yahoo.document.select.rule.VariableNode;
/**
* This interface can be used to create custom visitors for the selection tree.
@@ -10,16 +21,15 @@ import com.yahoo.document.select.rule.*;
*/
public interface Visitor {
- public void visit(ArithmeticNode node);
- public void visit(AttributeNode node);
- public void visit(ComparisonNode node);
- public void visit(DocumentNode node);
- public void visit(EmbracedNode node);
- public void visit(IdNode node);
- public void visit(LiteralNode node);
- public void visit(LogicNode node);
- public void visit(NegationNode node);
- public void visit(NowNode node);
- public void visit(SearchColumnNode node);
- public void visit(VariableNode node);
+ void visit(ArithmeticNode node);
+ void visit(AttributeNode node);
+ void visit(ComparisonNode node);
+ void visit(DocumentNode node);
+ void visit(EmbracedNode node);
+ void visit(IdNode node);
+ void visit(LiteralNode node);
+ void visit(LogicNode node);
+ void visit(NegationNode node);
+ void visit(NowNode node);
+ void visit(VariableNode node);
}
diff --git a/document/src/main/java/com/yahoo/document/select/convert/SelectionExpressionConverter.java b/document/src/main/java/com/yahoo/document/select/convert/SelectionExpressionConverter.java
index a5708871529..e949d29e60c 100644
--- a/document/src/main/java/com/yahoo/document/select/convert/SelectionExpressionConverter.java
+++ b/document/src/main/java/com/yahoo/document/select/convert/SelectionExpressionConverter.java
@@ -14,7 +14,6 @@ import com.yahoo.document.select.rule.LiteralNode;
import com.yahoo.document.select.rule.LogicNode;
import com.yahoo.document.select.rule.NegationNode;
import com.yahoo.document.select.rule.NowNode;
-import com.yahoo.document.select.rule.SearchColumnNode;
import com.yahoo.document.select.rule.VariableNode;
import java.util.HashMap;
@@ -151,11 +150,6 @@ public class SelectionExpressionConverter implements Visitor {
state.now = node;
}
- public void visit(SearchColumnNode node) {
- if (state == null ) return;
- throw new UnsupportedOperationException("Searchcolumn not supported yet.");
- }
-
public void visit(VariableNode node) {
if (state == null ) return;
throw new UnsupportedOperationException("Variables not supported yet.");
diff --git a/document/src/main/java/com/yahoo/document/select/rule/ComparisonNode.java b/document/src/main/java/com/yahoo/document/select/rule/ComparisonNode.java
index a7ab3d62c58..c8fd8da0b98 100644
--- a/document/src/main/java/com/yahoo/document/select/rule/ComparisonNode.java
+++ b/document/src/main/java/com/yahoo/document/select/rule/ComparisonNode.java
@@ -126,38 +126,11 @@ public class ComparisonNode implements ExpressionNode {
return compare(factory, (IdNode)lhs, (LiteralNode)rhs, operator);
} else if (rhs instanceof IdNode && lhs instanceof LiteralNode) {
return compare(factory, (IdNode)rhs, (LiteralNode)lhs, operator);
- } else if (lhs instanceof SearchColumnNode && rhs instanceof LiteralNode) {
- return compare((SearchColumnNode)lhs, (LiteralNode)rhs);
- } else if (rhs instanceof SearchColumnNode && lhs instanceof LiteralNode) {
- return compare((SearchColumnNode)rhs, (LiteralNode)lhs);
}
}
return null;
}
- /**
- * Compares a search column node with a literal node.
- *
- * @param node The search column node.
- * @param literal The literal node to compare to.
- * @return The bucket set containing the buckets covered.
- */
- private BucketSet compare(SearchColumnNode node, LiteralNode literal) {
- Object value = literal.getValue();
- int bucketCount = (int) Math.pow(2, 16);
- if (value instanceof Long) {
- BucketSet ret = new BucketSet();
- for (int i = 0; i < bucketCount; i++) {
- BucketId id = new BucketId(16, i);
- if ((Long)value == node.getDistribution().getColumn(id)) {
- ret.add(new BucketId(16, i));
- }
- }
- return ret;
- }
- return null;
- }
-
private BucketSet compare(BucketIdFactory factory, IdNode id, LiteralNode literal, String operator) {
String field = id.getField();
Object value = literal.getValue();
diff --git a/document/src/main/java/com/yahoo/document/select/rule/SearchColumnNode.java b/document/src/main/java/com/yahoo/document/select/rule/SearchColumnNode.java
deleted file mode 100644
index 071e51c192f..00000000000
--- a/document/src/main/java/com/yahoo/document/select/rule/SearchColumnNode.java
+++ /dev/null
@@ -1,61 +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.document.select.rule;
-
-import com.yahoo.document.BucketDistribution;
-import com.yahoo.document.BucketIdFactory;
-import com.yahoo.document.select.BucketSet;
-import com.yahoo.document.select.Context;
-import com.yahoo.document.select.OrderingSpecification;
-import com.yahoo.document.select.Visitor;
-
-/**
- * @author Simon Thoresen Hult
- */
-public class SearchColumnNode implements ExpressionNode {
-
- private int field;
- private BucketIdFactory factory = new BucketIdFactory(); // why is this not an abstract class?
- private BucketDistribution distribution;
-
- public SearchColumnNode() {
- setField(0);
- }
-
- public int getField() {
- return field;
- }
-
- public SearchColumnNode setField(int field) {
- distribution = new BucketDistribution(this.field = field, 16);
- return this;
- }
-
- public BucketDistribution getDistribution() {
- return distribution;
- }
-
- @Override
- public BucketSet getBucketSet(BucketIdFactory factory) {
- return null;
- }
-
- @Override
- public Object evaluate(Context context) {
- return distribution.getColumn(factory.getBucketId(context.getDocumentOperation().getId()));
- }
-
- @Override
- public void accept(Visitor visitor) {
- visitor.visit(this);
- }
-
- @Override
- public String toString() {
- return "searchcolumn." + field;
- }
-
- @Override
- public OrderingSpecification getOrdering(int order) {
- return null;
- }
-}
diff --git a/document/src/main/javacc/SelectParser.jj b/document/src/main/javacc/SelectParser.jj
index f2b10a2cb71..0e79306ee36 100755
--- a/document/src/main/javacc/SelectParser.jj
+++ b/document/src/main/javacc/SelectParser.jj
@@ -68,7 +68,6 @@ TOKEN :
<STRING: ("\"" (~["\""] | "\\\"")* "\"") |
("'" (~["'"] | "\\'")* "'")> |
<ID: "id"> |
- <SEARCHCOLUMN: "searchcolumn"> |
<ID_SCHEME: "scheme"> |
<ID_TYPE: "type"> |
<ID_NAMESPACE: "namespace"> |
@@ -179,7 +178,6 @@ ExpressionNode value() :
{
( LOOKAHEAD(2)
( ret = id() |
- ret = searchColumn() |
ret = literal() |
ret = variable() |
ret = now() |
@@ -201,7 +199,6 @@ DocumentNode document() :
void identifier() : { }
{
( <ID> |
- <SEARCHCOLUMN> |
<ID_SCHEME> |
<ID_TYPE> |
<ID_NAMESPACE> |
@@ -240,15 +237,6 @@ IdNode id() :
{ return ret; }
}
-SearchColumnNode searchColumn() :
-{
- SearchColumnNode ret = new SearchColumnNode();
-}
-{
- ( <SEARCHCOLUMN> [ LOOKAHEAD(2) <DOT> <INTEGER> { ret.setField(Integer.parseInt(token.image)); } ] )
- { return ret; }
-}
-
LiteralNode literal() :
{
String sign = "";
diff --git a/document/src/test/java/com/yahoo/document/select/BucketSelectorTestCase.java b/document/src/test/java/com/yahoo/document/select/BucketSelectorTestCase.java
index 9659abe713c..a1ad09c2329 100644
--- a/document/src/test/java/com/yahoo/document/select/BucketSelectorTestCase.java
+++ b/document/src/test/java/com/yahoo/document/select/BucketSelectorTestCase.java
@@ -35,8 +35,6 @@ public class BucketSelectorTestCase {
assertBucketCount("id.bucket = 0x4000000000003018", 1); // Bucket 16:12312
assertBucketCount("id.bucket == 0x4000000000000258", 1); // Bucket 16:600
- assertBucketCount("searchcolumn.3 == 1", 21845);
-
// Check that the correct buckets is found
assertBucket("id.bucket = 0x4000000000003018", new BucketId(16, 12312));
assertBucket("id.bucket == 0x4000000000000258", new BucketId(16, 600));
diff --git a/document/src/test/java/com/yahoo/document/select/DocumentSelectorTestCase.java b/document/src/test/java/com/yahoo/document/select/DocumentSelectorTestCase.java
index 4c1d35244e4..846f85e925a 100644
--- a/document/src/test/java/com/yahoo/document/select/DocumentSelectorTestCase.java
+++ b/document/src/test/java/com/yahoo/document/select/DocumentSelectorTestCase.java
@@ -75,7 +75,6 @@ public class DocumentSelectorTestCase {
assertParse("id.hash() > 0");
assertParse("id.namespace.hash() > 0");
assertParse("id.order(5,2) > 100");
- assertParse("searchcolumn.10 = 6");
assertParse("music.artist = \"*\"");
assertParse("music.artist.lowercase() = \"*\"");
assertParse("music_.artist = \"*\"");
@@ -114,7 +113,6 @@ public class DocumentSelectorTestCase {
@Test
public void testReservedWords() throws ParseException {
assertParse(null, "id == 'id' or id_t or idtype"); // ignore canonical form
- assertParse(null, "searchcolumn == 1 or searchcolumn_t or searchcolumntype");
assertParse(null, "id.scheme == 'scheme' or scheme_t or schemetype");
assertParse(null, "id.namespace == 'namespace' or namespace_t or namespacetype");
assertParse(null, "id.specific == 'specific' or specific_t or specifictype");
@@ -201,9 +199,6 @@ public class DocumentSelectorTestCase {
assertParse("id.group == \"yahoo.com\"");
assertParse("id.specific == \"mypart\"");
- // Test search column stuff.
- assertParse("searchcolumn.10 = 6");
-
// Test other operators.
assertParse("id.scheme = \"*doc\"");
assertParse("music.artist =~ \"(john|barry|shrek)\"");
@@ -559,8 +554,6 @@ public class DocumentSelectorTestCase {
assertError("id.group == \"yahoo\"", documents.get(3), "Group identifier is null.");
assertError("id.type == \"unknown\"", documents.get(0), "Document id doesn't have doc type.");
- assertEquals(Result.TRUE, evaluate("searchcolumn.10 == 6", documents.get(3)));
-
// Branch operators.
assertEquals(Result.FALSE, evaluate("true and false", documents.get(0)));
assertEquals(Result.TRUE, evaluate("true and true", documents.get(0)));
diff --git a/document/src/vespa/document/select/visitor.h b/document/src/vespa/document/select/visitor.h
index 762d47c7c35..c0798c8eb6d 100644
--- a/document/src/vespa/document/select/visitor.h
+++ b/document/src/vespa/document/select/visitor.h
@@ -25,7 +25,6 @@ class ArithmeticValueNode;
class FunctionValueNode;
class IdValueNode;
class InvalidConstant;
-class SearchColumnValueNode;
class FieldValueNode;
class FloatValueNode;
class IntegerValueNode;