hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Shannon Ladymon (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HIVE-11097) HiveInputFormat uses String.startsWith to compare splitPath and PathToAliases
Date Thu, 11 Feb 2016 01:18:18 GMT

    [ https://issues.apache.org/jira/browse/HIVE-11097?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15142094#comment-15142094
] 

Shannon Ladymon commented on HIVE-11097:
----------------------------------------

[~prasanth_j], thank you for the details on how to add a test case.  I've added this to the
wiki.  Please let me know if there are any changes/clarifications needed to what I put in
the wiki:
* [Hive Developer FAQ - How do I add a test case? | https://cwiki.apache.org/confluence/display/Hive/HiveDeveloperFAQ#HiveDeveloperFAQ-HowdoIaddatestcase?]

> 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
>             Fix For: 1.3.0, 2.1.0
>
>         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)

Mime
View raw message