[ 
https://issues.apache.org/jira/browse/DRILL-3328?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Venki Korukanti updated DRILL-3328:
-----------------------------------
    Attachment: DRILL-3328-1.patch

Talked to [~jni] and [~mehant]: It doesn't look like casting from VARBINARY to 
VARCHAR is a SQL standard casting rule. We added the implicit cast for Parquet 
binary type to varchar because the parquet files generated initially had the 
test data in binary form and many functions which accept the varchar failed to 
find. Proper way is to use the convert_to and convert_from functions for binary 
data. 

Currently convert_from doesn't work for Hive binary type as it is exposed as 
BINARY instead of VARBINARY although data is read into VarBinary vector. 

> Cannot cast hive binary to varchar
> ----------------------------------
>
>                 Key: DRILL-3328
>                 URL: https://issues.apache.org/jira/browse/DRILL-3328
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Functions - Drill, Storage - Hive
>            Reporter: Rahul Challapalli
>            Assignee: Venki Korukanti
>            Priority: Critical
>             Fix For: 1.1.0
>
>         Attachments: DRILL-3328-1.patch, error.log
>
>
> git.commit.id.abbrev=710f829
> The below query fails with a fragment initialization error
> {code}
> select cast(col1 as varchar(10)) from hive.temp_bin;
> Error: PARSE ERROR: From line 1, column 8 to line 1, column 32: Cast function 
> cannot convert value of type BINARY(1) to type VARCHAR(10)
> [Error Id: e7937c82-a249-4596-895f-eae2c54cfd45 on qa-node191.qa.lab:31010] 
> (state=,code=0)
> {code}
> Data creation steps :
> {code}
> create table temp_bin (col1 BINARY) STORED AS TEXTFILE;
> insert overwrite table temp_bin select encode('abc', 'UTF-8') from temp limit 
> 1;
> {code}
> I attached the error logs.



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

Reply via email to