From 3db1a2cdd0f13d292d0bd18b14b48233991c8083 Mon Sep 17 00:00:00 2001 From: Arne H Juul Date: Mon, 27 Jun 2022 08:40:52 +0000 Subject: allow user to send long integers without suffix --- .../src/main/java/com/yahoo/search/yql/ProgramParser.java | 8 +++++++- .../src/test/java/com/yahoo/search/yql/YqlParserTestCase.java | 1 + 2 files changed, 8 insertions(+), 1 deletion(-) (limited to 'container-search/src') 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 fc0cef2fb5e..5258087eb44 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 @@ -914,7 +914,13 @@ final class ProgramParser { String text = literal.getChild(0).getText(); switch(parseTreeIndex) { case yqlplusParser.INT: - return Integer.valueOf(text); + Long as_long = Long.valueOf(text); + int as_int = as_long.intValue(); + if (as_int == as_long) { + return Integer.valueOf(as_int); + } else { + return as_long; + } case yqlplusParser.FLOAT: return Double.valueOf(text); case yqlplusParser.STRING: 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 03472408783..299a7ff9d30 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 @@ -745,6 +745,7 @@ public class YqlParserTestCase { @Test public void testLongNumberInSimpleExpression() { assertParse("select foo from bar where price = 8589934592L", "price:8589934592"); + assertParse("select foo from bar where price = 8589934592", "price:8589934592"); } @Test -- cgit v1.2.3