You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Jacques Nadeau (JIRA)" <ji...@apache.org> on 2015/05/03 17:24:06 UTC
[jira] [Commented] (DRILL-2943) Drill parsing error during
deserialization for an Order-By
[ https://issues.apache.org/jira/browse/DRILL-2943?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14525870#comment-14525870 ]
Jacques Nadeau commented on DRILL-2943:
---------------------------------------
I think you have a bug here. I think instead of:
{code}
: Int ('.' Digit*)? ('e' | 'E' ('+' | '-')? Digit*)?
{code}
You should have
{code}
: Int ('.' Digit*)? (('e' | 'E') ('+' | '-')? Digit*)?
{code}
I suggest you add two unit tests directly against ExprParser rather than stepping through all the code (one with big e and one with little). You can use code similar to these locations:
https://github.com/apache/drill/blob/master/common/src/main/java/org/apache/drill/common/expression/LogicalExpression.java#L76
https://github.com/apache/drill/blob/master/exec/java-exec/src/test/java/org/apache/drill/exec/expr/ExpressionTest.java
> Drill parsing error during deserialization for an Order-By
> ----------------------------------------------------------
>
> Key: DRILL-2943
> URL: https://issues.apache.org/jira/browse/DRILL-2943
> Project: Apache Drill
> Issue Type: Bug
> Components: Execution - RPC
> Affects Versions: 0.9.0
> Reporter: Aman Sinha
> Assignee: Mehant Baid
> Fix For: 1.0.0
>
> Attachments: 0001-DRILL-2943-Parse-uppercase-E-for-scientific-notation.patch
>
>
> When doing an order-by of values that have a multiplicative floating-point constant, the jackson deserialization errors out due to the 'E' in the exponent representation.
> {code}
> alter session set `planner.slice_target` = 1;
> select c_acctbal * 0.0001 as x from cp.`tpch/customer.parquet` order by x;
> {code}
> {code}
> Caused by: com.fasterxml.jackson.databind.JsonMappingException: Expression has syntax error! line 1:25:mismatched input 'E' expecting CParen (through reference chain: java.util.ArrayList[0])
> com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:210) ~[jackson-databind-2.4.3.jar:2.4.3]
> com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:189) ~[jackson-databind-2.4.3.jar:2.4.3]
> com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:249) ~[jackson-databind-2.4.3.jar:2.4.3]
> com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:206) ~[jackson-databind-2.4.3.jar:2.4.3]
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)