[
https://issues.apache.org/jira/browse/DRILL-5424?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15966127#comment-15966127
]
ASF GitHub Bot commented on DRILL-5424:
---------------------------------------
Github user arina-ielchiieva commented on a diff in the pull request:
https://github.com/apache/drill/pull/815#discussion_r111192811
--- Diff:
exec/java-exec/src/test/java/org/apache/drill/exec/expr/fn/impl/TestStringFunctions.java
---
@@ -273,4 +273,13 @@ public void testSplit() throws Exception {
.run();
}
+ @Test
+ public void testReverse() throws Exception {
+ testBuilder()
+ .sqlQuery("select reverse(reverse(n_comment)) words from
cp.`tpch/nation.parquet`")
+ .unOrdered()
+ .sqlBaselineQuery("select n_comment words from
cp.`tpch/nation.parquet`")
+ .build()
+ .run();
+ }
--- End diff --
Unfortunately this unit test does not ensure that reverse function works
correctly.
Let's replace this unit test with two unit tests:
1. test reverse result for one row like in `testSplit()` test.
2. test that reverse doesn't fail for table with several long varchars.
> Fix IOBE for reverse function
> -----------------------------
>
> Key: DRILL-5424
> URL: https://issues.apache.org/jira/browse/DRILL-5424
> Project: Apache Drill
> Issue Type: Bug
> Components: Functions - Drill
> Affects Versions: 1.9.0
> Reporter: Volodymyr Vysotskyi
> Assignee: Volodymyr Vysotskyi
> Priority: Minor
>
> Query with reverse function fails:
> {code:sql}
> 0: jdbc:drill:zk=local> select reverse(a) from dfs.`/tmp/test.json`;
> Error: SYSTEM ERROR: IndexOutOfBoundsException: index: 259, length: 1
> (expected: range(0, 256))
> {code}
> for table with several long varchars.
> {noformat}
> cat /tmp/test.json
> {"a": "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz"}
> {"a": "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz"}
> {"a": "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz"}
> {"a": "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz"}
> {"a": "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz"}
> {noformat}
> The same query works for the table with less row number:
> {code:sql}
> 0: jdbc:drill:zk=local> select reverse(a) from dfs.`/tmp/test2.json`;
> +-------------------------------------------------------+
> | EXPR$0 |
> +-------------------------------------------------------+
> | zyxwvutsrqponmlkjihgfedcbazyxwvutsrqponmlkjihgfedcba |
> | zyxwvutsrqponmlkjihgfedcbazyxwvutsrqponmlkjihgfedcba |
> | zyxwvutsrqponmlkjihgfedcbazyxwvutsrqponmlkjihgfedcba |
> | zyxwvutsrqponmlkjihgfedcbazyxwvutsrqponmlkjihgfedcba |
> +-------------------------------------------------------+
> {code}
> {noformat}
> cat /tmp/test2.json
> {"a": "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz"}
> {"a": "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz"}
> {"a": "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz"}
> {"a": "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz"}
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)