You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Jinfeng Ni (JIRA)" <ji...@apache.org> on 2015/01/21 02:18:34 UTC

[jira] [Commented] (DRILL-2041) Throw unsupported error message on GROUP BY/ORDER BY array/map types

    [ https://issues.apache.org/jira/browse/DRILL-2041?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14284965#comment-14284965 ] 

Jinfeng Ni commented on DRILL-2041:
-----------------------------------

For this particular issue, I'm going to make the error message easier to understand for end user, so that they know it's not allowed to compare a map/array or repeated scalar type, when they put such types of expression or column in GROUP BY, ORDER BY, or JOIN condition. 


I think there is an agreement that effort will be made to improve the error/exception reporting issue in general. Whether this should be thrown ad RpcException or as UnSupportedOperationException will be addressed in that effort ( probably in operators component).

> Throw unsupported error message on GROUP BY/ORDER BY array/map types
> --------------------------------------------------------------------
>
>                 Key: DRILL-2041
>                 URL: https://issues.apache.org/jira/browse/DRILL-2041
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Query Planning & Optimization
>    Affects Versions: 0.8.0
>            Reporter: Victoria Markman
>            Assignee: Jinfeng Ni
>
> test.json
> {code}
> { "CustomerId": "100", "cityId": 10 , "phoneNumber": { "areaCode": "622", "number": "1567845"}, "years": ["1990", "1993", "1998", "2008"]}{code}
> {code}
> 0: jdbc:drill:schema=dfs> select years from `test.json` order by years;
> +------------+
> |   years    |
> +------------+
> Query failed: RemoteRpcException: Failure while running fragment., Failure finding function that runtime code generation expected.  Signature: compare_to( VARCHAR:REPEATEDVARCHAR:REPEATED,  ) returns INT:REQUIRED [ 5e4a9574-1f9b-4753-ab1d-ef056639281f on atsqa4-133.qa.lab:31010 ]
> [ 5e4a9574-1f9b-4753-ab1d-ef056639281f on atsqa4-133.qa.lab:31010 ]
> java.lang.RuntimeException: java.sql.SQLException: Failure while executing query.
> 	at sqlline.SqlLine$IncrementalRows.hasNext(SqlLine.java:2514)
> 	at sqlline.SqlLine$TableOutputFormat.print(SqlLine.java:2148)
> 	at sqlline.SqlLine.print(SqlLine.java:1809)
> 	at sqlline.SqlLine$Commands.execute(SqlLine.java:3766)
> 	at sqlline.SqlLine$Commands.sql(SqlLine.java:3663)
> 	at sqlline.SqlLine.dispatch(SqlLine.java:889)
> 	at sqlline.SqlLine.begin(SqlLine.java:763)
> 	at sqlline.SqlLine.start(SqlLine.java:498)
> 	at sqlline.SqlLine.main(SqlLine.java:460)
> 0: jdbc:drill:schema=dfs> select years from `test.json` group by years;
> Query failed: RemoteRpcException: Failure while running fragment., Failure finding function that runtime code generation expected.  Signature: compare_to( VARCHAR:REPEATEDVARCHAR:REPEATED,  ) returns INT:REQUIRED [ be1d64d5-bb03-4d5d-87b0-5cd8aa32f007 on atsqa4-133.qa.lab:31010 ]
> [ be1d64d5-bb03-4d5d-87b0-5cd8aa32f007 on atsqa4-133.qa.lab:31010 ]
> Error: exception while executing query: Failure while executing query. (state=,code=0)
> {code}
> {code}
> 0: jdbc:drill:schema=dfs> select * from `test.json` order by phoneNumber;
> +------------+------------+-------------+------------+
> | CustomerId |   cityId   | phoneNumber |   years    |
> +------------+------------+-------------+------------+
> Query failed: RemoteRpcException: Failure while running fragment., Failure finding function that runtime code generation expected.  Signature: compare_to( MAP:REQUIREDMAP:REQUIRED,  ) returns INT:REQUIRED [ cbef0629-b393-4fbd-9c16-941ec8835d36 on atsqa4-133.qa.lab:31010 ]
> [ cbef0629-b393-4fbd-9c16-941ec8835d36 on atsqa4-133.qa.lab:31010 ]
> java.lang.RuntimeException: java.sql.SQLException: Failure while executing query.
> 	at sqlline.SqlLine$IncrementalRows.hasNext(SqlLine.java:2514)
> 	at sqlline.SqlLine$TableOutputFormat.print(SqlLine.java:2148)
> 	at sqlline.SqlLine.print(SqlLine.java:1809)
> 	at sqlline.SqlLine$Commands.execute(SqlLine.java:3766)
> 	at sqlline.SqlLine$Commands.sql(SqlLine.java:3663)
> 	at sqlline.SqlLine.dispatch(SqlLine.java:889)
> 	at sqlline.SqlLine.begin(SqlLine.java:763)
> 	at sqlline.SqlLine.start(SqlLine.java:498)
> 	at sqlline.SqlLine.main(SqlLine.java:460)
> 0: jdbc:drill:schema=dfs> select phoneNumber from `test.json` group by phoneNumber;
> Query failed: RemoteRpcException: Failure while running fragment., Failure finding function that runtime code generation expected.  Signature: compare_to( MAP:REQUIREDMAP:REQUIRED,  ) returns INT:REQUIRED [ fbd3ca20-5d5a-4831-a066-a2d780547e66 on atsqa4-133.qa.lab:31010 ]
> [ fbd3ca20-5d5a-4831-a066-a2d780547e66 on atsqa4-133.qa.lab:31010 ]
> Error: exception while executing query: Failure while executing query. (state=,code=0)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)