Struct datatype should not use field names for type equivalence.
----------------------------------------------------------------
Key: HIVE-1287
URL: https://issues.apache.org/jira/browse/HIVE-1287
Project: Hadoop 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 is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.