You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pig.apache.org by ga...@apache.org on 2008/09/23 19:34:53 UTC

svn commit: r698256 - in /incubator/pig/branches/types/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/expressionOperators: ExpressionOperator.java POProject.java

Author: gates
Date: Tue Sep 23 10:34:53 2008
New Revision: 698256

URL: http://svn.apache.org/viewvc?rev=698256&view=rev
Log:
PIG-446 Changed POProject to emit a null when it tries to project a non-existent column instead of passing along the exception it gets.



Modified:
    incubator/pig/branches/types/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/expressionOperators/ExpressionOperator.java
    incubator/pig/branches/types/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/expressionOperators/POProject.java

Modified: incubator/pig/branches/types/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/expressionOperators/ExpressionOperator.java
URL: http://svn.apache.org/viewvc/incubator/pig/branches/types/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/expressionOperators/ExpressionOperator.java?rev=698256&r1=698255&r2=698256&view=diff
==============================================================================
--- incubator/pig/branches/types/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/expressionOperators/ExpressionOperator.java (original)
+++ incubator/pig/branches/types/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/expressionOperators/ExpressionOperator.java Tue Sep 23 10:34:53 2008
@@ -39,7 +39,7 @@
 
 public abstract class ExpressionOperator extends PhysicalOperator {
     private static final long serialVersionUID = 1L;
-    private Log log = LogFactory.getLog(getClass());
+    protected Log log = LogFactory.getLog(getClass());
     
     public ExpressionOperator(OperatorKey k) {
         this(k,-1);

Modified: incubator/pig/branches/types/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/expressionOperators/POProject.java
URL: http://svn.apache.org/viewvc/incubator/pig/branches/types/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/expressionOperators/POProject.java?rev=698256&r1=698255&r2=698256&view=diff
==============================================================================
--- incubator/pig/branches/types/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/expressionOperators/POProject.java (original)
+++ incubator/pig/branches/types/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/expressionOperators/POProject.java Tue Sep 23 10:34:53 2008
@@ -140,12 +140,25 @@
         if (star) {
             return res;
         } else if(columns.size() == 1) {
-            ret = inpValue.get(columns.get(0));
+            try {
+                ret = inpValue.get(columns.get(0));
+            } catch (ExecException ee) {
+                log.warn("Attempt to access field " + 
+                    " which was not found in the input");
+                res.returnStatus = POStatus.STATUS_NULL;
+                ret = null;
+            }
         } else {
 	        ArrayList<Object> objList = new ArrayList<Object>(columns.size()); 
                 
             for(int i: columns) {
-               objList.add(inpValue.get(i)); 
+                try { 
+                    objList.add(inpValue.get(i)); 
+                } catch (ExecException ee) {
+                    log.warn("Attempt to access field " + i +
+                        " which was not found in the input");
+                    objList.add(null);
+                }
             }
 		    ret = tupleFactory.newTuple(objList);
         }