> On Sept. 10, 2014, 11:58 p.m., Ashutosh Chauhan wrote: > > ql/src/java/org/apache/hadoop/hive/ql/parse/RowResolver.java, line 213 > > <https://reviews.apache.org/r/25059/diff/1/?file=669167#file669167line213> > > > > I am bit confused here. Shouldn't this be if (tableAlias == null || > > tableAlias.equalsIgnoreCase(prev.getTabAlias())) > > > > Note missing ! > > We want to throw an exception if tabAlias = null or if non-null than > > equal to prev. Isnt it? > > > > But, I see existing code is doing the same. So, confused here.
!tableAlias.equalsIgnoreCase(prev.getTabAlias()) means the column is from different table alias, which makes it an ambiguous alias. This can be done at last stage of processing the subquery. I'll update the patch. - Navis ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/25059/#review52982 ----------------------------------------------------------- On Aug. 26, 2014, 9:06 a.m., Navis Ryu wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/25059/ > ----------------------------------------------------------- > > (Updated Aug. 26, 2014, 9:06 a.m.) > > > Review request for hive. > > > Bugs: HIVE-7733 > https://issues.apache.org/jira/browse/HIVE-7733 > > > Repository: hive-git > > > Description > ------- > > {noformat} > CREATE TABLE agg1 > ( > col0 INT, > col1 STRING, > col2 DOUBLE > ); > > explain SELECT single_use_subq11.a1 AS a1, > single_use_subq11.a2 AS a2 > FROM (SELECT Sum(agg1.col2) AS a1 > FROM agg1 > GROUP BY agg1.col0) single_use_subq12 > JOIN (SELECT alias.a2 AS a0, > alias.a1 AS a1, > alias.a1 AS a2 > FROM (SELECT agg1.col1 AS a0, > '42' AS a1, > agg1.col0 AS a2 > FROM agg1 > UNION ALL > SELECT agg1.col1 AS a0, > '41' AS a1, > agg1.col0 AS a2 > FROM agg1) alias > GROUP BY alias.a2, > alias.a1) single_use_subq11 > ON ( single_use_subq11.a0 = single_use_subq11.a0 ); > {noformat} > > Gets the following error: > FAILED: SemanticException [Error 10007]: Ambiguous column reference a2 > Looks like this query had been working in 0.12 but starting failing with this > error in 0.13 > > > Diffs > ----- > > ql/src/java/org/apache/hadoop/hive/ql/parse/RowResolver.java 33b8a21 > ql/src/test/queries/clientpositive/complex_alias.q PRE-CREATION > ql/src/test/results/clientpositive/complex_alias.q.out PRE-CREATION > > Diff: https://reviews.apache.org/r/25059/diff/ > > > Testing > ------- > > > Thanks, > > Navis Ryu > >