You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Venki Korukanti (JIRA)" <ji...@apache.org> on 2015/06/25 23:50:04 UTC

[jira] [Comment Edited] (DRILL-3328) Cannot cast hive binary to varchar

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

Venki Korukanti edited comment on DRILL-3328 at 6/25/15 9:49 PM:
-----------------------------------------------------------------

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. 

Convert_from works on current version. Adding unittest.


was (Author: vkorukanti):
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)