You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Ruslan Dautkhanov (JIRA)" <ji...@apache.org> on 2015/04/20 07:04:59 UTC

[jira] [Commented] (HIVE-1287) Struct datatype should not use field names for type equivalence.

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

Ruslan Dautkhanov commented on HIVE-1287:
-----------------------------------------

@Zheng, I don't get how implicit casting from struct<a:string> to struct<b:string> can cause data corruption. 
It would be great to see this fixed in a future Hive release.

> Struct datatype should not use field names for type equivalence.
> ----------------------------------------------------------------
>
>                 Key: HIVE-1287
>                 URL: https://issues.apache.org/jira/browse/HIVE-1287
>             Project: Hive
>          Issue Type: Bug
>          Components: Query Processor
>         Environment: Mac OS X (10.6.2) Java SE 6 ( 1.6.0_17)
>            Reporter: Arvind Prabhakar
>
> The field names for {{Struct}} types are currently being matched for testing type equivalence. This is readily seen by running the following example:
> {noformat}
> hive> create table source ( foo struct < x : string > );
> OK
> Time taken: 3.094 seconds
> hive> load data local inpath '/path/to/sample/data.txt' overwrite into table source;
> Copying data from file:/path/to/sample/data.txt
> Loading data to table source
> OK
> Time taken: 0.593 seconds
> hive> create table sink ( bar struct < y : string >);
> OK
> Time taken: 0.11 seconds
> hive> insert overwrite table sink select foo from source;
> FAILED: Error in semantic analysis: line 1:23 Cannot insert into target table 
> because column number/types are different sink: Cannot convert column 0 
> from struct<x:string> to struct<y:string>.
> {noformat}
> Since both {{soruce.foo}} and {{sink.bar}} are similar in definition with only field names being different, data movement between these two should be allowed. 



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