[ https://issues.apache.org/jira/browse/HIVE-11097?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Wan Chang updated HIVE-11097: ----------------------------- Attachment: HIVE-11097.5.patch > HiveInputFormat uses String.startsWith to compare splitPath and PathToAliases > ----------------------------------------------------------------------------- > > Key: HIVE-11097 > URL: https://issues.apache.org/jira/browse/HIVE-11097 > Project: Hive > Issue Type: Bug > Components: File Formats > Affects Versions: 0.13.0, 0.14.0, 0.13.1, 1.0.0, 1.2.0 > Environment: Hive 0.13.1, Hive 2.0.0, hadoop 2.4.1 > Reporter: Wan Chang > Assignee: Wan Chang > Priority: Critical > Attachments: HIVE-11097.1.patch, HIVE-11097.2.patch, > HIVE-11097.3.patch, HIVE-11097.4.patch, HIVE-11097.5.patch > > > Say we have a sql as > {code} > create table if not exists test_orc_src (a int, b int, c int) stored as orc; > create table if not exists test_orc_src2 (a int, b int, d int) stored as orc; > insert overwrite table test_orc_src select 1,2,3 from src limit 1; > insert overwrite table test_orc_src2 select 1,2,4 from src limit 1; > set hive.auto.convert.join = false; > set hive.execution.engine=mr; > select > tb.c > from test.test_orc_src tb > join (select * from test.test_orc_src2) tm > on tb.a = tm.a > where tb.b = 2 > {code} > The correct result is 3 but it produced no result. > I find that in HiveInputFormat.pushProjectionsAndFilters > {code} > match = splitPath.startsWith(key) || splitPathWithNoSchema.startsWith(key); > {code} > It uses startsWith to combine aliases with path, so tm will match two alias > in this case. -- This message was sent by Atlassian JIRA (v6.3.4#6332)