[
https://issues.apache.org/jira/browse/HIVE-560?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12723843#action_12723843
]
Namit Jain commented on HIVE-560:
---------------------------------
List<Boolean> removed = conf.getRemovedList().get(alias);
for (int i = 0; i < sz; i++) {
for (; pos < removed.size(); pos++) {
if (pos < structFields.size() && !removed.get(pos)) {
structFieldObjectInspectors.add(structFields.get(pos)
.getFieldObjectInspector());
pos++;
break;
}
}
}
}
Looks like there is some bug in above code in MapJoinOperator - what if nothing
is removed i.e all columns are selected.
Also, it might be a good idea not to use removedList at runtime, but create the
correct list from removedList at compile time itself.
> column pruning not working with map joins
> -----------------------------------------
>
> Key: HIVE-560
> URL: https://issues.apache.org/jira/browse/HIVE-560
> Project: Hadoop Hive
> Issue Type: Bug
> Components: Query Processor
> Affects Versions: 0.4.0
> Reporter: Namit Jain
> Assignee: Yongqiang He
> Attachments: hive-560-2009-06-19-2.patch,
> hive-560-2009-06-19-5.patch,
> hive-560-2009-06-24-mapjoin-before-column-pruning.patch,
> hive-560-2009-06-24-normal(mapjoin-after-column-pruning).patch
>
>
> drop table tst1;
> drop table tst2;
> create table tst1(a1 string, a2 string, a3 string, a4 string);
> create table tst2(b1 string, b2 string, b3 string, b4 string);
> explain select /*+ MAPJOIN(a) */ a.a1, a.a2 from tst1 a join tst2 b ON
> a.a2=b.b2;
> the select is after the join - column pruning is not happening
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.