benj created DRILL-7396:
---------------------------
Summary: Exception when trying to access last element of an array
with repeated_count
Key: DRILL-7396
URL: https://issues.apache.org/jira/browse/DRILL-7396
Project: Apache Drill
Issue Type: Bug
Components: Functions - Drill
Affects Versions: 1.16.0
Reporter: benj
Use of array in drill is not friendly
{code:sql}
SELECT (split('a,b,c',','))[0]; /*NOK */
Error: SYSTEM ERROR: ClassCastException:
org.apache.drill.common.expression.FunctionCall cannot be cast to
org.apache.drill.common.expression.SchemaPath
/* outer SELECT needed*/
SELECT x[0] FROM (SELECT split('a,b,c',',') x); /* OK */
{code}
And access last element of an array is worse
{code:sql}
SELECT x[repeated_count(x) - 1] AS lasteltidx FROM (SELECT split('a,b,c',',')
x);
Error: SYSTEM ERROR: ClassCastException: org.apache.calcite.rex.RexCall cannot
be cast to org.apache.calcite.rex.RexLiteral
/* while */
SELECT x[2] lastelt, (repeated_count(x) - 1) AS lasteltidx FROM (SELECT
split('a,b,c',',') x);
+---------+------------+
| lastelt | lasteltidx |
+---------+------------+
| c | 2 |
+---------+------------+
{code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)