diff options
author | Arne H Juul <arnej@yahooinc.com> | 2022-06-27 08:40:52 +0000 |
---|---|---|
committer | Arne H Juul <arnej@yahooinc.com> | 2022-06-27 08:40:52 +0000 |
commit | 3db1a2cdd0f13d292d0bd18b14b48233991c8083 (patch) | |
tree | ca68a90a40a79f8e4072bdb28ef82d9ad9861f22 /container-search | |
parent | b659a529c013d6ff0ac21c0a54f49d6b38dc5c67 (diff) |
allow user to send long integers without suffix
Diffstat (limited to 'container-search')
-rw-r--r-- | container-search/src/main/java/com/yahoo/search/yql/ProgramParser.java | 8 | ||||
-rw-r--r-- | container-search/src/test/java/com/yahoo/search/yql/YqlParserTestCase.java | 1 |
2 files changed, 8 insertions, 1 deletions
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 |