aboutsummaryrefslogtreecommitdiffstats
path: root/container-search
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@verizonmedia.com>2021-12-14 15:31:48 +0100
committerBjørn Christian Seime <bjorncs@verizonmedia.com>2021-12-14 17:39:26 +0100
commitb35713ae9a32184a002be8431d49a52db1c47a34 (patch)
tree08e92865c98eb8adc4bd908ef9259a8bcfaebd73 /container-search
parent2b2334c29f65f476240a13056bfd6061dbebc1ab (diff)
Upgrade Antlr4 to 4.9.3
Remove tokens that are empty in lexer definition
Diffstat (limited to 'container-search')
-rw-r--r--container-search/src/main/antlr4/com/yahoo/search/yql/yqlplus.g42
-rw-r--r--container-search/src/main/java/com/yahoo/search/yql/ProgramParser.java8
-rw-r--r--container-search/src/test/java/com/yahoo/search/yql/YqlParserTestCase.java5
3 files changed, 5 insertions, 10 deletions
diff --git a/container-search/src/main/antlr4/com/yahoo/search/yql/yqlplus.g4 b/container-search/src/main/antlr4/com/yahoo/search/yql/yqlplus.g4
index 5bc0253ee5f..38efba3b511 100644
--- a/container-search/src/main/antlr4/com/yahoo/search/yql/yqlplus.g4
+++ b/container-search/src/main/antlr4/com/yahoo/search/yql/yqlplus.g4
@@ -27,7 +27,6 @@ options {
WHERE : 'where';
ORDERBY : 'order by';
DESC : 'desc';
- ASC :;
FROM : 'from';
SOURCES : 'sources';
AS : 'as';
@@ -55,7 +54,6 @@ options {
OR : 'or';
NOT_IN : 'not in';
IN : 'in';
- QUERY_ARRAY :;
LT : '<';
GT : '>';
diff --git a/container-search/src/main/java/com/yahoo/search/yql/ProgramParser.java b/container-search/src/main/java/com/yahoo/search/yql/ProgramParser.java
index c7c4b2885d2..df582ee8141 100644
--- a/container-search/src/main/java/com/yahoo/search/yql/ProgramParser.java
+++ b/container-search/src/main/java/com/yahoo/search/yql/ProgramParser.java
@@ -51,9 +51,9 @@ import com.yahoo.search.yql.yqlplusParser.StatementContext;
import com.yahoo.search.yql.yqlplusParser.TimeoutContext;
import com.yahoo.search.yql.yqlplusParser.UnaryExpressionContext;
import com.yahoo.search.yql.yqlplusParser.WhereContext;
-import org.antlr.v4.runtime.ANTLRInputStream;
import org.antlr.v4.runtime.BaseErrorListener;
import org.antlr.v4.runtime.CharStream;
+import org.antlr.v4.runtime.CharStreams;
import org.antlr.v4.runtime.CommonTokenStream;
import org.antlr.v4.runtime.ParserRuleContext;
import org.antlr.v4.runtime.RecognitionException;
@@ -78,13 +78,11 @@ import java.util.Set;
final class ProgramParser {
public yqlplusParser prepareParser(String programName, InputStream input) throws IOException {
- //TODO ANTLRInputStream goes away on 4.7, so must use CharStreams.fromXXX() when upgrading
- return prepareParser(programName, new CaseInsensitiveCharStream(new ANTLRInputStream(input)));
+ return prepareParser(programName, new CaseInsensitiveCharStream(CharStreams.fromStream(input)));
}
public yqlplusParser prepareParser(String programName, String input) throws IOException {
- //TODO ANTLRInputStream goes away on 4.7, so must use CharStreams.fromXXX() when upgrading
- return prepareParser(programName, new CaseInsensitiveCharStream(new ANTLRInputStream(input)));
+ return prepareParser(programName, new CaseInsensitiveCharStream(CharStreams.fromString(input)));
}
private static class ErrorListener extends BaseErrorListener {
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 ec33cca9739..2a21214c702 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
@@ -69,11 +69,10 @@ public class YqlParserTestCase {
private final YqlParser parser = new YqlParser(new ParserEnvironment());
- @Test
+ @Test(timeout = 120_000)
public void failsGracefullyOnMissingQuoteEscapingAndSubsequentUnicodeCharacter() {
assertParseFail("select * from bar where rank(ids contains 'http://en.wikipedia.org/wiki/Hors_d'œuvre') limit 10;",
- new IllegalInputException("com.yahoo.search.yql.ProgramCompileException: query:L1:79 " +
- "no viable alternative at input 'rank(ids contains 'http://en.wikipedia.org/wiki/Hors_d''"));
+ new IllegalInputException("com.yahoo.search.yql.ProgramCompileException: query:L1:79 token recognition error at: 'œ'"));
}
@Test