Author: daijy
Date: Sat Apr 17 00:38:48 2010
New Revision: 935101
URL: http://svn.apache.org/viewvc?rev=935101&view=rev
Log:
PIG-1374: PushDownForeachFlatten shall not push ForEach below Join if the
flattened fields is used in the next statement
Modified:
hadoop/pig/trunk/src/org/apache/pig/impl/logicalLayer/optimizer/PushDownForeachFlatten.java
Modified:
hadoop/pig/trunk/src/org/apache/pig/impl/logicalLayer/optimizer/PushDownForeachFlatten.java
URL:
http://svn.apache.org/viewvc/hadoop/pig/trunk/src/org/apache/pig/impl/logicalLayer/optimizer/PushDownForeachFlatten.java?rev=935101&r1=935100&r2=935101&view=diff
==============================================================================
---
hadoop/pig/trunk/src/org/apache/pig/impl/logicalLayer/optimizer/PushDownForeachFlatten.java
(original)
+++
hadoop/pig/trunk/src/org/apache/pig/impl/logicalLayer/optimizer/PushDownForeachFlatten.java
Sat Apr 17 00:38:48 2010
@@ -191,10 +191,12 @@ public class PushDownForeachFlatten exte
if (requiredFields.getFields()!=null) {
for (Pair<Integer, Integer> pair : requiredFields.getFields())
{
Collection<Column> columns =
foreachMappedFields.get(pair.second);
- for (Column column : columns) {
- Pair<Integer, Integer> foreachInputColumn =
column.getInputColumn();
- if
(foreach.isInputFlattened(foreachInputColumn.second))
- return false;
+ if (columns!=null) {
+ for (Column column : columns) {
+ Pair<Integer, Integer> foreachInputColumn =
column.getInputColumn();
+ if
(foreach.isInputFlattened(foreachInputColumn.second))
+ return false;
+ }
}
}
}