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

Volodymyr Tkach commented on DRILL-5919:
----------------------------------------

Following math functions results with NumberFormatException because currently 
Calcite and Drill handles FLOAT,DOUBLE types using BigDecimal class, which 
doesn't support nan, inf values. Currently investigating the problem, looking 
for ways of how to handle nan,inf values in a different way. 
*Query example:* _select sin(cast('NaN' as float)) from (values(1))_
* div
* divide
* add
* multiply
* tanh
* sin
* asin
* cos
* cot
* acos
* sqrt
* ceil
* negative,
* castFLOAT4
* abs
* floor
* exp
* subtract
* sinh
* cbrt
* mod
* degrees
* trunc
* trunc
* casthigh
* log
* log
* power
* atan
* tan
* radians
* cosh
* round
* round
* convertToNullableFLOAT8
* convertToNullableFLOAT4

> Add non-numeric support for JSON processing
> -------------------------------------------
>
>                 Key: DRILL-5919
>                 URL: https://issues.apache.org/jira/browse/DRILL-5919
>             Project: Apache Drill
>          Issue Type: Improvement
>          Components: Storage - JSON
>    Affects Versions: 1.11.0
>            Reporter: Volodymyr Tkach
>            Assignee: Volodymyr Tkach
>              Labels: doc-impacting
>             Fix For: Future
>
>
> Add session options to allow drill working with non standard json strings 
> number literals like: NaN, Infinity, -Infinity. By default these options will 
> be switched off, the user will be able to toggle them during working session.
> *For documentation*
> 1. Added two session options {{store.json.reader.non_numeric_numbers}} and 
> {{store.json.reader.non_numeric_numbers}} that allow to read/write NaN and 
> Infinity as numbers. By default these options are set to false.
> 2. Extended signature of {{convert_toJSON}} and {{convert_fromJSON}} 
> functions by adding second optional parameter that enables read/write NaN and 
> Infinity.
> For example:
> {noformat}
> select convert_fromJSON('{"key": NaN}') from (values(1)); will result with 
> JsonParseException, but
> select convert_fromJSON('{"key": NaN}', true) from (values(1)); will parse 
> NaN as a number.
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to