You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pig.apache.org by da...@apache.org on 2010/04/17 02:38:48 UTC
svn commit: r935101 -
/hadoop/pig/trunk/src/org/apache/pig/impl/logicalLayer/optimizer/PushDownForeachFlatten.java
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;
+ }
}
}
}