Pengcheng Xiong created HIVE-11815:
--------------------------------------

             Summary: Correct the column/table names in subquery expression 
when create a view
                 Key: HIVE-11815
                 URL: https://issues.apache.org/jira/browse/HIVE-11815
             Project: Hive
          Issue Type: Sub-task
            Reporter: Pengcheng Xiong
            Assignee: Pengcheng Xiong


Right now Hive does not quote column/table names in subquery expression when 
create a view. For example
{code}
hive>
    > create table tc (`@d` int);
OK
Time taken: 0.119 seconds
hive> create view tcv as select * from tc b where exists (select a.`@d` from tc 
a where b.`@d`=a.`@d`);
OK
Time taken: 0.075 seconds
hive> describe extended tcv;
OK
@d                      int

Detailed Table Information      Table(tableName:tcv, dbName:default, 
owner:pxiong, createTime:1442250005, lastAccessTime:0, retention:0, 
sd:StorageDescriptor(cols:[FieldSchema(name:@d, type:int, comment:null)], 
location:null, inputFormat:org.apache.hadoop.mapred.SequenceFileInputFormat, 
outputFormat:org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat, 
compressed:false, numBuckets:-1, serdeInfo:SerDeInfo(name:null, 
serializationLib:null, parameters:{}), bucketCols:[], sortCols:[], 
parameters:{}, skewedInfo:SkewedInfo(skewedColNames:[], skewedColValues:[], 
skewedColValueLocationMaps:{}), storedAsSubDirectories:false), 
partitionKeys:[], parameters:{transient_lastDdlTime=1442250005}, 
viewOriginalText:select * from tc b where exists (select a.@d from tc a where 
b.@d=a.@d), viewExpandedText:select `b`.`@d` from `default`.`tc` `b` where 
exists (select a.@d from tc a where b.@d=a.@d), tableType:VIRTUAL_VIEW)
Time taken: 0.063 seconds, Fetched: 3 row(s)
hive> select * from tcv;
FAILED: SemanticException line 1:63 character '@' not supported here
line 1:84 character '@' not supported here
line 1:89 character '@' not supported here in definition of VIEW tcv [
select `b`.`@d` from `default`.`tc` `b` where exists (select a.@d from tc a 
where b.@d=a.@d)
] used as tcv at Line 1:14
{code}



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

Reply via email to