hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "pengcheng xiong" <pxi...@hortonworks.com>
Subject Re: Review Request 38383: Correct the column/table names in subquery expression when creating a view
Date Tue, 15 Sep 2015 23:45:10 GMT

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/38383/
-----------------------------------------------------------

(Updated Sept. 15, 2015, 11:45 p.m.)


Review request for hive and John Pullokkaran.


Repository: hive-git


Description
-------

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}


Diffs (updated)
-----

  ql/src/java/org/apache/hadoop/hive/ql/parse/QBSubQuery.java 92cbabc 
  ql/src/java/org/apache/hadoop/hive/ql/parse/SubQueryUtils.java 87a7ced 
  ql/src/test/queries/clientpositive/subquery_views.q f15d41b 
  ql/src/test/results/clientnegative/subquery_exists_implicit_gby.q.out 4830c00 
  ql/src/test/results/clientnegative/subquery_nested_subquery.q.out ae3bc8f 
  ql/src/test/results/clientnegative/subquery_notexists_implicit_gby.q.out 74422af 
  ql/src/test/results/clientnegative/subquery_windowing_corr.q.out 647a535 
  ql/src/test/results/clientpositive/subquery_views.q.out c59d86e 

Diff: https://reviews.apache.org/r/38383/diff/


Testing
-------


Thanks,

pengcheng xiong


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message