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

Vitalii Diravka edited comment on DRILL-6768 at 10/31/18 11:50 AM:
-------------------------------------------------------------------

[~KazydubB] Is it possible to improve the solution in the future? 
 Current approach is to have the separate functions for the cases with Nullable 
output and possible empty input String. 
 But the only one example of function can exist and the following code can be 
added in the process of the code generation:
{code:java}
if (left.start == left.end) {
 out.isSet = 0;
 return;
 }
{code}


was (Author: vitalii):
Please describe the possibility of improving it in the future? 
 Current approach is to have the separate functions for the cases with Nullable 
output and possible empty input String. 
 But the only one example of function can exist and the following code can be 
added in the process of the code generation:
{code:java}
if (left.start == left.end) {
 out.isSet = 0;
 return;
 }
{code}

> Improve to_date, to_time and to_timestamp and corresponding cast functions to 
> handle empty string when `drill.exec.functions.cast_empty_string_to_null` 
> option is enabled
> -------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DRILL-6768
>                 URL: https://issues.apache.org/jira/browse/DRILL-6768
>             Project: Apache Drill
>          Issue Type: Improvement
>    Affects Versions: 1.14.0
>            Reporter: Bohdan Kazydub
>            Assignee: Bohdan Kazydub
>            Priority: Major
>              Labels: doc-impacting, ready-to-commit
>             Fix For: 1.15.0
>
>
> When `drill.exec.functions.cast_empty_string_to_null` option is enabled
> `to_date`, `to_time` and `to_timestamp` functions while converting string to 
> according type in case if null or empty string values are passed will return 
> NULL (to avoid CASE clauses which are littering a query and will work in 
> accordance with their respective CAST counterparts) for both cases.
>  
>   
>   
> CASTs will  be handled in a similar way (uniformly with numeric types):
>  
> ||Value to cast||Now||Will be||
> |NULL|NULL|NULL|
> |'' (empty string)|Error in many cases (except numerical types)|NULL|
>  CAST empty string to null (in case of enabled option) will be supported by 
> DATE, TIME, TIMESTAMP, INTERVAL YEAR, INTERVAL MONTH and INTERVAL DAY 
> functions in addition to numeric types.
>  
> *For documentation*
> TBA



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to