[
https://issues.apache.org/jira/browse/PIG-693?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12681944#action_12681944
]
Santhosh Srinivasan commented on PIG-693:
-----------------------------------------
Review comments for 693.utest.patch
Index: test/org/apache/pig/test/TestEvalPipeline2.java
==========================================
Use org.apache.pig.test.utils.Idenity instead of creating another IdenityUDF.
{code}
+ static public class IdentityUdf
+ extends EvalFunc<Tuple> {
+
+ // Expects 3 chararrays in input tuple and returns the 3 chararrays in
+ // output tuple
+ @Override
+ public Tuple exec(Tuple input) throws IOException {
+ if (input == null || input.size() == 0)
+ return null;
+ return input ;
+
+ }
+
+ }
{code}
> Parameter to UDF which is an alias returned in another UDF in nested foreach
> causes incorrect results
> -----------------------------------------------------------------------------------------------------
>
> Key: PIG-693
> URL: https://issues.apache.org/jira/browse/PIG-693
> Project: Pig
> Issue Type: Bug
> Components: impl
> Affects Versions: 1.0.0
> Reporter: Viraj Bhat
> Assignee: Thejas M Nair
> Attachments: 693.patch, 693.utest.patch, one.txt, REPLACEALL.java,
> URLDECODE.java
>
>
> Consider the following Pig Script
> {code}
> register myudf.jar;
> A = load 'one.txt' using PigStorage() as ( one: int ); --use this dummy file
> to start execution
> B = foreach A {
> dec = myudf.URLDECODE('hello');
> str1 = myudf.REPLACEALL(dec, '[\\u0000-\\u0020]', ' '); -- ERROR
> str2 = myudf.REPLACEALL('hello', '[\\u0000-\\u0020]', ' ');
> generate
> dec,
> str1,
> str2;
> };
> describe B;
> dump B;
> {code}
> where one.txt is a file which contains number one (1) for starting execution
> of the Pig script!!
> {code}
> describe B;
> {code}
> returns the following:
> B: {urldecode_9: chararray,replaceall_urldecode_10_11:
> chararray,replaceall_12: chararray}
> {code}
> dump B;
> {code}
> returns
> (hello,[\u0000-\u0020],hello)
> The result should be:
> There is a workaround for the same,
> {code}
> register myudf.jar;
> A = load 'one.txt' using PigStorage() as ( one: int );
> B = foreach A {
> dec = myudf.URLDECODE('hello');
> generate
> dec as dec,
> myudf.REPLACEALL(dec, '[\\u0000-\\u0020]', ' ') as str1,
> myudf.REPLACEALL('hello', '[\\u0000-\\u0020]', ' ') as str2;
> };
> describe B;
> dump B;
> {code}
> where
> {code}
> dump B;
> {code}
> returns (hello,hello,hello)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.