diff options
8 files changed, 47 insertions, 49 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/Query.java b/container-search/src/main/java/com/yahoo/search/Query.java index a6d87426126..dcbda80ecab 100644 --- a/container-search/src/main/java/com/yahoo/search/Query.java +++ b/container-search/src/main/java/com/yahoo/search/Query.java @@ -882,7 +882,6 @@ public class Query extends com.yahoo.processing.Request implements Cloneable { yql.append(" where "); String insert = serializeSortingAndLimits(includeHitsAndOffset); yql.append(VespaSerializer.serialize(this, insert)); - yql.append(';'); return yql.toString(); } diff --git a/container-search/src/main/java/com/yahoo/search/yql/MinimalQueryInserter.java b/container-search/src/main/java/com/yahoo/search/yql/MinimalQueryInserter.java index 66ad7b84608..e1400e4f860 100644 --- a/container-search/src/main/java/com/yahoo/search/yql/MinimalQueryInserter.java +++ b/container-search/src/main/java/com/yahoo/search/yql/MinimalQueryInserter.java @@ -60,13 +60,13 @@ public class MinimalQueryInserter extends Searcher { } private static boolean warmup(Linguistics linguistics) { - Query query = new Query("search/?yql=select%20*%20from%20sources%20where%20title%20contains%20'xyz';"); + Query query = new Query("search/?yql=select%20*%20from%20sources%20where%20title%20contains%20'xyz'"); Result result = insertQuery(query, new ParserEnvironment().setLinguistics(linguistics)); if (result != null) { log.warning("Warmup code trigger an error. Error = " + result.toString()); return false; } - if ( ! "select * from sources where title contains \"xyz\";".equals(query.yqlRepresentation())) { + if ( ! "select * from sources where title contains \"xyz\"".equals(query.yqlRepresentation())) { log.warning("Warmup code generated unexpected yql: " + query.yqlRepresentation()); return false; } diff --git a/container-search/src/test/java/com/yahoo/search/handler/test/JSONSearchHandlerTestCase.java b/container-search/src/test/java/com/yahoo/search/handler/test/JSONSearchHandlerTestCase.java index 7811336823d..dd78cfefe28 100644 --- a/container-search/src/test/java/com/yahoo/search/handler/test/JSONSearchHandlerTestCase.java +++ b/container-search/src/test/java/com/yahoo/search/handler/test/JSONSearchHandlerTestCase.java @@ -348,7 +348,7 @@ public class JSONSearchHandlerTestCase { // Run query String result = driver.sendRequest(uri + "searchChain=echoingQuery", com.yahoo.jdisc.http.HttpRequest.Method.POST, root.toString(), JSON_CONTENT_TYPE).readAll(); - assertEquals("{\"root\":{\"id\":\"toplevel\",\"relevance\":1.0,\"fields\":{\"totalCount\":0},\"children\":[{\"id\":\"Query\",\"relevance\":1.0,\"fields\":{\"query\":\"select * from sources * where default contains \\\"bad\\\";\"}}]}}", + assertEquals("{\"root\":{\"id\":\"toplevel\",\"relevance\":1.0,\"fields\":{\"totalCount\":0},\"children\":[{\"id\":\"Query\",\"relevance\":1.0,\"fields\":{\"query\":\"select * from sources * where default contains \\\"bad\\\"\"}}]}}", result); } @@ -373,7 +373,7 @@ public class JSONSearchHandlerTestCase { "}\n"; String result = driver.sendRequest(uri + "searchChain=echoingQuery", com.yahoo.jdisc.http.HttpRequest.Method.POST, query, JSON_CONTENT_TYPE).readAll(); - String expected = "{\"root\":{\"id\":\"toplevel\",\"relevance\":1.0,\"fields\":{\"totalCount\":0},\"children\":[{\"id\":\"Query\",\"relevance\":1.0,\"fields\":{\"query\":\"select * from sources * where field contains \\\"term\\\" | all(output(count()));\"}}]}}"; + String expected = "{\"root\":{\"id\":\"toplevel\",\"relevance\":1.0,\"fields\":{\"totalCount\":0},\"children\":[{\"id\":\"Query\",\"relevance\":1.0,\"fields\":{\"query\":\"select * from sources * where field contains \\\"term\\\" | all(output(count()))\"}}]}}"; assertEquals(expected, result); } @@ -396,7 +396,7 @@ public class JSONSearchHandlerTestCase { "}\n"; String result = driver.sendRequest(uri + "searchChain=echoingQuery", com.yahoo.jdisc.http.HttpRequest.Method.POST, query, JSON_CONTENT_TYPE).readAll(); - String expected = "{\"root\":{\"id\":\"toplevel\",\"relevance\":1.0,\"fields\":{\"totalCount\":0},\"children\":[{\"id\":\"Query\",\"relevance\":1.0,\"fields\":{\"query\":\"select * from sources * where field contains \\\"term\\\" | all(output(count()));\"}}]}}"; + String expected = "{\"root\":{\"id\":\"toplevel\",\"relevance\":1.0,\"fields\":{\"totalCount\":0},\"children\":[{\"id\":\"Query\",\"relevance\":1.0,\"fields\":{\"query\":\"select * from sources * where field contains \\\"term\\\" | all(output(count()))\"}}]}}"; assertEquals(expected, result); } @@ -407,14 +407,14 @@ public class JSONSearchHandlerTestCase { // Run query String result = driver.sendRequest(uri + "searchChain=echoingQuery", com.yahoo.jdisc.http.HttpRequest.Method.POST, root.toString(), JSON_CONTENT_TYPE).readAll(); - assertEquals("{\"root\":{\"id\":\"toplevel\",\"relevance\":1.0,\"fields\":{\"totalCount\":0},\"children\":[{\"id\":\"Query\",\"relevance\":1.0,\"fields\":{\"query\":\"select * from sources * where default contains \\\"bad\\\";\"}}]}}", + assertEquals("{\"root\":{\"id\":\"toplevel\",\"relevance\":1.0,\"fields\":{\"totalCount\":0},\"children\":[{\"id\":\"Query\",\"relevance\":1.0,\"fields\":{\"query\":\"select * from sources * where default contains \\\"bad\\\"\"}}]}}", result); } @Test public void testRequestMapping() { ObjectNode json = jsonMapper.createObjectNode(); - json.put("yql", "select * from sources * where sddocname contains \"blog_post\" limit 0 | all(group(date) max(3) order(-count())each(output(count())));"); + json.put("yql", "select * from sources * where sddocname contains \"blog_post\" limit 0 | all(group(date) max(3) order(-count())each(output(count())))"); json.put("hits", 10); json.put("offset", 5); json.put("queryProfile", "foo"); @@ -518,7 +518,7 @@ public class JSONSearchHandlerTestCase { "&nocache=false&model.type=yql&collapse.summary=default&ranking.matchPhase.diversity.minGroups=1&ranking.location=123789.89123N%3B128123W&ranking.queryCache=false&offset=5&streaming.groupname=abc&groupingSessionCache=false" + "&presentation.template=json&trace.rules=none&rules.off=false&ranking.properties=default&searchChain=exceptionInPlugin&pos.ll=1263123N%3B1231.9W&ranking.sorting=desc&ranking.matchPhase.ascending=true&ranking.features=none&hitcountestimate=true" + "&model.filter=default&metrics.ignore=_all&collapse.field=none&ranking.profile=1&rules.rulebase=default&model.defaultIndex=1&trace.level=1&ranking.listFeatures=false&timeout=0&presentation.format=json" + - "&yql=select+%2A+from+sources+%2A+where+sddocname+contains+%22blog_post%22+limit+0+%7C+all%28group%28date%29+max%283%29+order%28-count%28%29%29each%28output%28count%28%29%29%29%29%3B&recall=none&streaming.maxbucketspervisitor=5" + + "&yql=select+%2A+from+sources+%2A+where+sddocname+contains+%22blog_post%22+limit+0+%7C+all%28group%28date%29+max%283%29+order%28-count%28%29%29each%28output%28count%28%29%29%29%29&recall=none&streaming.maxbucketspervisitor=5" + "&queryProfile=foo&presentation.bolding=true&model.encoding=json&model.queryString=abc&streaming.selection=none&trace.timestamps=false&collapse.size=2&streaming.priority=10&ranking.matchPhase.diversity.attribute=title" + "&ranking.matchPhase.attribute=title&hits=10&streaming.userid=123&pos.bb=1237123W%3B123218N&model.restrict=_doc%2Cjson%2Cxml&ranking.freshness=0.05&user=123"; diff --git a/container-search/src/test/java/com/yahoo/search/test/QueryTestCase.java b/container-search/src/test/java/com/yahoo/search/test/QueryTestCase.java index b3aeda65f4b..bddba51f17a 100644 --- a/container-search/src/test/java/com/yahoo/search/test/QueryTestCase.java +++ b/container-search/src/test/java/com/yahoo/search/test/QueryTestCase.java @@ -561,9 +561,9 @@ public class QueryTestCase { Set<String> traces = new HashSet<>(); for (String trace : q.getContext(true).getTrace().traceNode().descendants(String.class)) traces.add(trace); - assertTrue(traces.contains("trace1: [select * from sources * where default contains \"foo\";]")); + assertTrue(traces.contains("trace1: [select * from sources * where default contains \"foo\"]")); assertTrue(traces.contains("trace2")); - assertTrue(traces.contains("trace3-1, trace3-2: [select * from sources * where default contains \"foo\";]")); + assertTrue(traces.contains("trace3-1, trace3-2: [select * from sources * where default contains \"foo\"]")); assertTrue(traces.contains("trace4-1, trace4-2")); } diff --git a/container-search/src/test/java/com/yahoo/search/yql/MinimalQueryInserterTestCase.java b/container-search/src/test/java/com/yahoo/search/yql/MinimalQueryInserterTestCase.java index bd666edcba3..1cc810aee7d 100644 --- a/container-search/src/test/java/com/yahoo/search/yql/MinimalQueryInserterTestCase.java +++ b/container-search/src/test/java/com/yahoo/search/yql/MinimalQueryInserterTestCase.java @@ -229,7 +229,7 @@ public class MinimalQueryInserterTestCase { execution.search(query); assertEquals(7, query.getOffset()); assertEquals(24, query.getHits()); - assertEquals("select * from sources * where title contains \"madonna\" limit 31 offset 7;", + assertEquals("select * from sources * where title contains \"madonna\" limit 31 offset 7", query.yqlRepresentation()); } @@ -258,7 +258,7 @@ public class MinimalQueryInserterTestCase { Query query = new Query("search/?yql=select%20*%20from%20sources%20*%20where%20title%20contains%20%22madonna%22%20timeout%2051"); execution.search(query); assertEquals(51L, query.getTimeout()); - assertEquals("select * from sources * where title contains \"madonna\" timeout 51;", query.yqlRepresentation()); + assertEquals("select * from sources * where title contains \"madonna\" timeout 51", query.yqlRepresentation()); } @Test @@ -266,7 +266,7 @@ public class MinimalQueryInserterTestCase { var select = "select x, y, z from sources * " + "where (x > 0 AND y contains \"foo\" AND z contains \"bar\") " + "order by x limit 20 offset 10 timeout 30 " - + "| all(group(y) max(3) each(output(count())));"; + + "| all(group(y) max(3) each(output(count())))"; Query query = new Query("search/?yql="+ URLEncoder.encode(select, Charsets.UTF_8)); execution.search(query); @@ -294,7 +294,7 @@ public class MinimalQueryInserterTestCase { .fieldOrders().get(1).getFieldName()); assertEquals(Order.DESCENDING, query.getRanking().getSorting() .fieldOrders().get(1).getSortOrder()); - assertEquals("select ignoredfield from ignoredsource where title contains \"madonna\" order by something, shoesize desc limit 300 timeout 3;", query.yqlRepresentation()); + assertEquals("select ignoredfield from ignoredsource where title contains \"madonna\" order by something, shoesize desc limit 300 timeout 3", query.yqlRepresentation()); } { String yql = "select%20ignoredfield%20from%20ignoredsource%20where%20title%20contains%20%22madonna%22%20order%20by%20other%20limit%20300%20timeout%203"; @@ -304,7 +304,7 @@ public class MinimalQueryInserterTestCase { .get(0).getFieldName()); assertEquals(Order.ASCENDING, query.getRanking().getSorting() .fieldOrders().get(0).getSortOrder()); - assertEquals("select ignoredfield from ignoredsource where title contains \"madonna\" order by other limit 300 timeout 3;", query.yqlRepresentation()); + assertEquals("select ignoredfield from ignoredsource where title contains \"madonna\" order by other limit 300 timeout 3", query.yqlRepresentation()); } { String yql = "select%20foo%20from%20bar%20where%20title%20contains%20%22madonna%22%20order%20by%20%5B%7B%22function%22%3A%20%22uca%22%2C%20%22locale%22%3A%20%22en_US%22%2C%20%22strength%22%3A%20%22IDENTICAL%22%7D%5Dother%20desc%2C%20%5B%7B%22function%22%3A%20%22lowercase%22%7D%5Dsomething%20limit%20300%20timeout%203"; @@ -327,7 +327,7 @@ public class MinimalQueryInserterTestCase { AttributeSorter sorter = fieldOrder.getSorter(); assertEquals(LowerCaseSorter.class, sorter.getClass()); } - assertEquals("select foo from bar where title contains \"madonna\" order by [{\"function\": \"uca\", \"locale\": \"en_US\", \"strength\": \"IDENTICAL\"}]other desc, [{\"function\": \"lowercase\"}]something limit 300 timeout 3;", + assertEquals("select foo from bar where title contains \"madonna\" order by [{\"function\": \"uca\", \"locale\": \"en_US\", \"strength\": \"IDENTICAL\"}]other desc, [{\"function\": \"lowercase\"}]something limit 300 timeout 3", query.yqlRepresentation()); } } @@ -337,7 +337,7 @@ public class MinimalQueryInserterTestCase { String yql = "select%20ignoredfield%20from%20ignoredsource%20where%20title%20contains%20%22madonna%22%20order%20by%20something%2C%20shoesize%20desc%20limit%20300%20timeout%203"; Query query = new Query("search/?yql=" + yql); execution.search(query); - assertEquals("select ignoredfield from ignoredsource where title contains \"madonna\" order by something, shoesize desc limit 300 timeout 3;", + assertEquals("select ignoredfield from ignoredsource where title contains \"madonna\" order by something, shoesize desc limit 300 timeout 3", query.yqlRepresentation()); } @@ -345,7 +345,7 @@ public class MinimalQueryInserterTestCase { public void testAndSegmenting() { Query query = new Query("?yql=select%20%2A%20from%20sources%20%2A%20where%20%5B%7B%22defaultIndex%22%3A%20%22default%22%2C%22grammar%22%3A%20%22web%22%2C%22stem%22%3A%20true%2C%22allowEmpty%22%3A%20true%7D%5DuserInput%28%40animal%29%3B&animal=m%26m%27s&tracelevel=3"); execution.search(query); - assertEquals("select * from sources * where (default contains \"m\" AND default contains ([{origin: {original: \"m\\'s\", offset: 0, length: 3}, andSegmenting: true}]phrase(\"m\", \"s\")));", + assertEquals("select * from sources * where (default contains \"m\" AND default contains ([{origin: {original: \"m\\'s\", offset: 0, length: 3}, andSegmenting: true}]phrase(\"m\", \"s\")))", query.yqlRepresentation()); } diff --git a/container-search/src/test/java/com/yahoo/search/yql/TermListTestCase.java b/container-search/src/test/java/com/yahoo/search/yql/TermListTestCase.java index efaaaa5fca7..30254aa5738 100644 --- a/container-search/src/test/java/com/yahoo/search/yql/TermListTestCase.java +++ b/container-search/src/test/java/com/yahoo/search/yql/TermListTestCase.java @@ -26,7 +26,7 @@ public class TermListTestCase { builder.setParameter("myTerms", "{'1':1, '2':1, 3:1}"); builder.setParameter("yql", "select * from sources * where weightedSet(user_id, @myTerms)"); Query query = searchAndAssertNoErrors(builder); - assertEquals("select * from sources * where weightedSet(user_id, {\"1\": 1, \"2\": 1, \"3\": 1});", + assertEquals("select * from sources * where weightedSet(user_id, {\"1\": 1, \"2\": 1, \"3\": 1})", query.yqlRepresentation()); } @@ -36,7 +36,7 @@ public class TermListTestCase { builder.setParameter("myTerms", "{'1':1, 2:1, '3':1}"); builder.setParameter("yql", "select * from sources * where wand(user_id, @myTerms)"); Query query = searchAndAssertNoErrors(builder); - assertEquals("select * from sources * where wand(user_id, {\"1\": 1, \"2\": 1, \"3\": 1});", + assertEquals("select * from sources * where wand(user_id, {\"1\": 1, \"2\": 1, \"3\": 1})", query.yqlRepresentation()); } @@ -46,7 +46,7 @@ public class TermListTestCase { builder.setParameter("myTerms", "{'1':1, '2':1, '3':1}"); builder.setParameter("yql", "select * from sources * where dotProduct(user_id, @myTerms)"); Query query = searchAndAssertNoErrors(builder); - assertEquals("select * from sources * where dotProduct(user_id, {\"1\": 1, \"2\": 1, \"3\": 1});", + assertEquals("select * from sources * where dotProduct(user_id, {\"1\": 1, \"2\": 1, \"3\": 1})", query.yqlRepresentation()); } diff --git a/container-search/src/test/java/com/yahoo/search/yql/UserInputTestCase.java b/container-search/src/test/java/com/yahoo/search/yql/UserInputTestCase.java index c41de3a73f1..1e36bc3ad45 100644 --- a/container-search/src/test/java/com/yahoo/search/yql/UserInputTestCase.java +++ b/container-search/src/test/java/com/yahoo/search/yql/UserInputTestCase.java @@ -50,14 +50,14 @@ public class UserInputTestCase { URIBuilder builder = searchUri(); builder.setParameter("yql", "select * from sources * where userInput(\"nalle\")"); Query query = searchAndAssertNoErrors(builder); - assertEquals("select * from sources * where default contains \"nalle\";", query.yqlRepresentation()); + assertEquals("select * from sources * where default contains \"nalle\"", query.yqlRepresentation()); } { URIBuilder builder = searchUri(); builder.setParameter("nalle", "bamse"); builder.setParameter("yql", "select * from sources * where userInput(@nalle)"); Query query = searchAndAssertNoErrors(builder); - assertEquals("select * from sources * where default contains \"bamse\";", query.yqlRepresentation()); + assertEquals("select * from sources * where default contains \"bamse\"", query.yqlRepresentation()); } { URIBuilder builder = searchUri(); @@ -74,7 +74,7 @@ public class UserInputTestCase { URIBuilder builder = searchUri(); builder.setParameter("yql", "select * from sources * where {grammar: \"raw\"}userInput(\"nal le\")"); Query query = searchAndAssertNoErrors(builder); - assertEquals("select * from sources * where default contains \"nal le\";", query.yqlRepresentation()); + assertEquals("select * from sources * where default contains \"nal le\"", query.yqlRepresentation()); } @Test @@ -83,7 +83,7 @@ public class UserInputTestCase { builder.setParameter("yql", "select * from sources * where {grammar: \"segment\"}userInput(\"nal le\")"); Query query = searchAndAssertNoErrors(builder); - assertEquals("select * from sources * where default contains ([{origin: {original: \"nal le\", offset: 0, length: 6}}]phrase(\"nal\", \"le\"));", query.yqlRepresentation()); + assertEquals("select * from sources * where default contains ([{origin: {original: \"nal le\", offset: 0, length: 6}}]phrase(\"nal\", \"le\"))", query.yqlRepresentation()); } @Test @@ -92,7 +92,7 @@ public class UserInputTestCase { builder.setParameter("yql", "select * from sources * where {grammar: \"segment\"}userInput(\"^^^^^^^^\")"); Query query = searchAndAssertNoErrors(builder); - assertEquals("select * from sources * where default contains \"^^^^^^^^\";", query.yqlRepresentation()); + assertEquals("select * from sources * where default contains \"^^^^^^^^\"", query.yqlRepresentation()); } @Test @@ -100,7 +100,7 @@ public class UserInputTestCase { URIBuilder builder = searchUri(); builder.setParameter("yql", "select * from sources * where {grammar: \"any\"}userInput('foo bar')"); Query query = searchAndAssertNoErrors(builder); - assertEquals("select * from sources * where (default contains \"foo\" OR default contains \"bar\");", + assertEquals("select * from sources * where (default contains \"foo\" OR default contains \"bar\")", query.yqlRepresentation()); } @@ -109,7 +109,7 @@ public class UserInputTestCase { URIBuilder builder = searchUri(); builder.setParameter("yql", "select * from sources * where {grammar: \"all\"}userInput('foo bar')"); Query query = searchAndAssertNoErrors(builder); - assertEquals("select * from sources * where (default contains \"foo\" AND default contains \"bar\");", + assertEquals("select * from sources * where (default contains \"foo\" AND default contains \"bar\")", query.yqlRepresentation()); } @@ -118,7 +118,7 @@ public class UserInputTestCase { URIBuilder builder = searchUri(); builder.setParameter("yql", "select * from sources * where {grammar: \"weakAnd\"}userInput('foo bar')"); Query query = searchAndAssertNoErrors(builder); - assertEquals("select * from sources * where weakAnd(default contains \"foo\", default contains \"bar\");", + assertEquals("select * from sources * where weakAnd(default contains \"foo\", default contains \"bar\")", query.yqlRepresentation()); } @@ -139,7 +139,7 @@ public class UserInputTestCase { builder.setParameter("yql", "select * from sources * where [{defaultIndex: \"glompf\"}]userInput(\"nalle\")"); Query query = searchAndAssertNoErrors(builder); - assertEquals("select * from sources * where glompf contains \"nalle\";", query.yqlRepresentation()); + assertEquals("select * from sources * where glompf contains \"nalle\"", query.yqlRepresentation()); } @Test @@ -149,7 +149,7 @@ public class UserInputTestCase { "select * from sources * where [{stem: false}]userInput(\"nalle\")"); Query query = searchAndAssertNoErrors(builder); assertEquals( - "select * from sources * where default contains ([{stem: false}]\"nalle\");", + "select * from sources * where default contains ([{stem: false}]\"nalle\")", query.yqlRepresentation()); } @@ -160,7 +160,7 @@ public class UserInputTestCase { builder.setParameter("yql", "select * from ecitem where rank(([{defaultIndex:\"myfield\"}](userInput(@myinput))))"); Query query = searchAndAssertNoErrors(builder); - assertEquals("select * from ecitem where rank(myfield = (-5));", query.yqlRepresentation()); + assertEquals("select * from ecitem where rank(myfield = (-5))", query.yqlRepresentation()); assertEquals("RANK myfield:-5", query.getModel().getQueryTree().getRoot().toString()); } @@ -171,7 +171,7 @@ public class UserInputTestCase { "select * from sources * where [{ranked: false}]userInput(\"nalle\")"); Query query = searchAndAssertNoErrors(builder); assertEquals( - "select * from sources * where default contains ([{ranked: false}]\"nalle\");", + "select * from sources * where default contains ([{ranked: false}]\"nalle\")", query.yqlRepresentation()); } @@ -182,7 +182,7 @@ public class UserInputTestCase { "select * from sources * where [{filter: true}]userInput(\"nalle\")"); Query query = searchAndAssertNoErrors(builder); assertEquals( - "select * from sources * where default contains ([{filter: true}]\"nalle\");", + "select * from sources * where default contains ([{filter: true}]\"nalle\")", query.yqlRepresentation()); } @@ -194,7 +194,7 @@ public class UserInputTestCase { "select * from sources * where [{normalizeCase: false}]userInput(\"nalle\")"); Query query = searchAndAssertNoErrors(builder); assertEquals( - "select * from sources * where default contains ([{normalizeCase: false}]\"nalle\");", + "select * from sources * where default contains ([{normalizeCase: false}]\"nalle\")", query.yqlRepresentation()); } @@ -205,7 +205,7 @@ public class UserInputTestCase { "select * from sources * where [{accentDrop: false}]userInput(\"nalle\")"); Query query = searchAndAssertNoErrors(builder); assertEquals( - "select * from sources * where default contains ([{accentDrop: false}]\"nalle\");", + "select * from sources * where default contains ([{accentDrop: false}]\"nalle\")", query.yqlRepresentation()); } @@ -216,7 +216,7 @@ public class UserInputTestCase { "select * from sources * where [{usePositionData: false}]userInput(\"nalle\")"); Query query = searchAndAssertNoErrors(builder); assertEquals( - "select * from sources * where default contains ([{usePositionData: false}]\"nalle\");", + "select * from sources * where default contains ([{usePositionData: false}]\"nalle\")", query.yqlRepresentation()); } @@ -228,7 +228,7 @@ public class UserInputTestCase { builder.setParameter("yql", "select * from sources * where foo contains @nalle and foo contains phrase(@nalle, @meta, @nalle)"); Query query = searchAndAssertNoErrors(builder); - assertEquals("select * from sources * where (foo contains \"bamse\" AND foo contains phrase(\"bamse\", \"syntactic\", \"bamse\"));", query.yqlRepresentation()); + assertEquals("select * from sources * where (foo contains \"bamse\" AND foo contains phrase(\"bamse\", \"syntactic\", \"bamse\"))", query.yqlRepresentation()); } @Test @@ -237,7 +237,7 @@ public class UserInputTestCase { builder.setParameter("varref", "1980"); builder.setParameter("yql", "select * from sources * where year > @varref"); Query query = searchAndAssertNoErrors(builder); - assertEquals("select * from sources * where year > 1980;", query.yqlRepresentation()); + assertEquals("select * from sources * where year > 1980", query.yqlRepresentation()); } @Test @@ -248,7 +248,7 @@ public class UserInputTestCase { "select * from sources * where myfield contains 'token'" + "| [{'continuations':[@continuation, 'BCBKCBACBKCCK'] }] all(group(f) each(output(count())))"); Query query = searchAndAssertNoErrors(builder); - assertEquals("select * from sources * where myfield contains \"token\" | [{ continuations:['BCBCBCBEBG', 'BCBKCBACBKCCK'] }]all(group(f) each(output(count())));", query.yqlRepresentation()); + assertEquals("select * from sources * where myfield contains \"token\" | [{ continuations:['BCBCBCBEBG', 'BCBKCBACBKCCK'] }]all(group(f) each(output(count())))", query.yqlRepresentation()); } @Test @@ -258,7 +258,7 @@ public class UserInputTestCase { builder.setParameter("yql", "select foo from bar where fieldName contains equiv(@term,'B')"); Query query = searchAndAssertNoErrors(builder); - assertEquals("select foo from bar where fieldName contains equiv(\"A\", \"B\");", query.yqlRepresentation()); + assertEquals("select foo from bar where fieldName contains equiv(\"A\", \"B\")", query.yqlRepresentation()); } private Query searchAndAssertNoErrors(URIBuilder builder) { diff --git a/container-search/src/test/java/com/yahoo/search/yql/YqlParserTestCase.java b/container-search/src/test/java/com/yahoo/search/yql/YqlParserTestCase.java index 4e92b603835..c6811fdc4d4 100644 --- a/container-search/src/test/java/com/yahoo/search/yql/YqlParserTestCase.java +++ b/container-search/src/test/java/com/yahoo/search/yql/YqlParserTestCase.java @@ -181,7 +181,7 @@ public class YqlParserTestCase { assertParse("select foo from bar where title contains \"madonna\" and title contains \"saint\"", "AND title:madonna title:saint"); assertParse("select foo from bar where title contains \"madonna\" and title contains \"saint\" and title " + - "contains \"angel\";", + "contains \"angel\"", "AND title:madonna title:saint title:angel"); } @@ -307,7 +307,7 @@ public class YqlParserTestCase { public void testTermAnnotations() { assertEquals("merkelapp", getRootWord("select foo from bar where baz contains " + - "({label: \"merkelapp\"}\"colors\");").getLabel()); + "({label: \"merkelapp\"}\"colors\")").getLabel()); assertEquals("another", getRootWord("select foo from bar where baz contains " + "({annotations: {cox: \"another\"}}\"colors\")").getAnnotation("cox")); @@ -336,14 +336,14 @@ public class YqlParserTestCase { public void testAnnotationsCanBeInBrackets() { assertEquals("merkelapp", getRootWord("select foo from bar where baz contains " + - "([ {label: \"merkelapp\"} ]\"colors\");").getLabel()); + "([ {label: \"merkelapp\"} ]\"colors\")").getLabel()); } @Test public void testValuesCanBeQuoted() { assertEquals("merkelapp", getRootWord("select foo from bar where baz contains " + - "( {label: \"merkelapp\"} \"colors\");").getLabel()); + "( {label: \"merkelapp\"} \"colors\")").getLabel()); } @Test @@ -411,7 +411,7 @@ public class YqlParserTestCase { assertFalse(getRootWord("select foo from bar where baz contains " + "([ {stem: true} ]\"colors\")").isStemmed()); assertFalse(getRootWord("select foo from bar where baz contains " + - "\"colors\";").isStemmed()); + "\"colors\"").isStemmed()); } @Test @@ -614,7 +614,7 @@ public class YqlParserTestCase { //This test is order dependent. Fix it! @Test public void testDotProduct() { - assertParse("select foo from bar where dotProduct(description, {\"a\":1, \"b\":2});", + assertParse("select foo from bar where dotProduct(description, {\"a\":1, \"b\":2})", "DOTPRODUCT description{[1]:\"a\",[2]:\"b\"}"); assertParse("select foo from bar where dotProduct(description, {\"a\":2})", "DOTPRODUCT description{[2]:\"a\"}"); @@ -1165,7 +1165,6 @@ public class YqlParserTestCase { expectedYql.append("\"google com\")"); // but not with the simple syntax if (hasAnnotations) expectedYql.append(")"); - expectedYql.append(";"); assertEquals(expectedYql.toString(), query.yqlRepresentation()); assertTrue(query.getModel().getQueryTree().getRoot() instanceof PhraseItem); |