[
https://issues.apache.org/jira/browse/DRILL-2015?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14279201#comment-14279201
]
Victoria Markman commented on DRILL-2015:
-----------------------------------------
The default should be to throw an exception and give customer an option to turn
off checking if performance is very critical.
It should be their "choice" if they want to get wrong results. In any case, if
we decide not to implement an option for GA, it should be clearly documented.
> Casting numeric value that does not fit in integer data type produces
> incorrect result
> --------------------------------------------------------------------------------------
>
> Key: DRILL-2015
> URL: https://issues.apache.org/jira/browse/DRILL-2015
> Project: Apache Drill
> Issue Type: Bug
> Components: Execution - Data Types
> Affects Versions: 0.8.0
> Reporter: Victoria Markman
> Assignee: Daniel Barclay (Drill/MapR)
> Priority: Critical
>
> t1.json
> {code}
> { "a1": 1 , "b1" : 1}
> { "a1": 2 , "b1" : 1}
> { "a1": 2 , "b1" : 2}
> { "a1": 3 , "b1" : 2}
> { "a1": 5000147483647 , "b1" : 3}
> {code}
> We should throw an error, this is technically data corruption.
> {code}
> 0: jdbc:drill:schema=dfs> select cast(a1 as integer) from `t1.json`;
> +------------+
> | EXPR$0 |
> +------------+
> | 1 |
> | 2 |
> | 2 |
> | 3 |
> | 805551103 |
> +------------+
> 5 rows selected (0.074 seconds)
> {code}
> {code}
> 0: jdbc:drill:schema=dfs> select cast(2147483648 as integer) from `t1.json`;
> +------------+
> | EXPR$0 |
> +------------+
> | -2147483648 |
> | -2147483648 |
> | -2147483648 |
> | -2147483648 |
> | -2147483648 |
> +------------+
> 5 rows selected (0.076 seconds)
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)