diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2019-08-06 16:55:57 +0200 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2019-08-06 16:55:57 +0200 |
commit | 79b0d4ae1eb9fd8294e3d46e884afd044b46b283 (patch) | |
tree | bb942f23ec60a73789b33c2658b4fed157f0602c /document | |
parent | a3118293c12db437b83abddac401199ee4408172 (diff) |
Remove long gone searchcolumn.
Diffstat (limited to 'document')
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; |