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 2012/04/21 00:01:24 UTC

svn commit: r1328524 - in /pig/trunk: CHANGES.txt src/org/apache/pig/scripting/jython/JythonUtils.java test/e2e/pig/tests/nightly.conf

Author: daijy
Date: Fri Apr 20 22:01:24 2012
New Revision: 1328524

URL: http://svn.apache.org/viewvc?rev=1328524&view=rev
Log:
PIG-2596: Jython UDF does not handle boolean output

Modified:
    pig/trunk/CHANGES.txt
    pig/trunk/src/org/apache/pig/scripting/jython/JythonUtils.java
    pig/trunk/test/e2e/pig/tests/nightly.conf

Modified: pig/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/pig/trunk/CHANGES.txt?rev=1328524&r1=1328523&r2=1328524&view=diff
==============================================================================
--- pig/trunk/CHANGES.txt (original)
+++ pig/trunk/CHANGES.txt Fri Apr 20 22:01:24 2012
@@ -106,6 +106,8 @@ OPTIMIZATIONS
 
 BUG FIXES
 
+PIG-2596: Jython UDF does not handle boolean output (aniket486 via daijy)
+
 PIG-2652: Skew join and order by don't trigger reducer estimation (billgraham via dvryaboy)
 
 PIG-2649: org.apache.pig.parser.ParserValidationException does not expose the cause exception

Modified: pig/trunk/src/org/apache/pig/scripting/jython/JythonUtils.java
URL: http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/scripting/jython/JythonUtils.java?rev=1328524&r1=1328523&r2=1328524&view=diff
==============================================================================
--- pig/trunk/src/org/apache/pig/scripting/jython/JythonUtils.java (original)
+++ pig/trunk/src/org/apache/pig/scripting/jython/JythonUtils.java Fri Apr 20 22:01:24 2012
@@ -30,6 +30,7 @@ import org.apache.pig.data.DefaultBagFac
 import org.apache.pig.data.Tuple;
 import org.apache.pig.data.TupleFactory;
 import org.python.core.Py;
+import org.python.core.PyBoolean;
 import org.python.core.PyDictionary;
 import org.python.core.PyFloat;
 import org.python.core.PyInteger;
@@ -82,6 +83,8 @@ public class JythonUtils {
                 javaObj = newMap;
             } else if (pyObject instanceof PyLong) {
                 javaObj = pyObject.__tojava__(Long.class);
+            } else if (pyObject instanceof PyBoolean) {
+            	javaObj = pyObject.__tojava__(Boolean.class);
             } else if (pyObject instanceof PyInteger) {
                 javaObj = pyObject.__tojava__(Integer.class);
             } else if (pyObject instanceof PyFloat) {

Modified: pig/trunk/test/e2e/pig/tests/nightly.conf
URL: http://svn.apache.org/viewvc/pig/trunk/test/e2e/pig/tests/nightly.conf?rev=1328524&r1=1328523&r2=1328524&view=diff
==============================================================================
--- pig/trunk/test/e2e/pig/tests/nightly.conf (original)
+++ pig/trunk/test/e2e/pig/tests/nightly.conf Fri Apr 20 22:01:24 2012
@@ -3421,7 +3421,6 @@ store b into ':OUTPATH:';\,
                     {
                     # test that functions with same names resolve correctly across name spaces
                     'num' => 11,
-                    'ignore' => 1, # PIG-2596
                     'pig' => q\
 register ':SCRIPTHOMEPATH:/python/scriptingudf.py' using jython as myfuncs;
 a = load ':INPATH:/singlefile/studenttab10k' as (name:chararray, age:int, gpa:double);
@@ -3429,7 +3428,7 @@ b = foreach a generate name, myfuncs.isr
 store b into ':OUTPATH:';\,
                     'verify_pig_script' => q\
 a = load ':INPATH:/singlefile/studenttab10k' using PigStorage() as (name:chararray, age:int, gpa:double);
-b = foreach a generate name, (age>=60?1:0);
+b = foreach a generate name, (age>=60?'true':'false');
 store b into ':OUTPATH:';\,
                     }
                 ]