[ 
https://issues.apache.org/jira/browse/PIG-2004?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Thejas M Nair updated PIG-2004:
-------------------------------

    Attachment: PIG-2004.1.patch

PIG-2004.1.patch
- Reset fieldschema of all expressions from TypeCheckingExpVisitor constructor, 
instead of doing it in each visit function.
- Reset target fieldschema in CastExpression, copied LHS fieldschema in 
BinCondExpression so that uid of inner schema is not re-used.
- Fixed a NPE in LogicalSchema that was seen in test cases after this issue was 
fixed.

> Incorrect input types passed on to eval function
> ------------------------------------------------
>
>                 Key: PIG-2004
>                 URL: https://issues.apache.org/jira/browse/PIG-2004
>             Project: Pig
>          Issue Type: Bug
>          Components: impl
>    Affects Versions: 0.9.0
>            Reporter: Vivek Padmanabhan
>            Assignee: Thejas M Nair
>             Fix For: 0.9.0
>
>         Attachments: PIG-2004-0.patch, PIG-2004.1.patch
>
>
> The below script fails by throwing a ClassCastException from the MAX udf. The 
> udf expects the value of the bag supplied to be databyte array, but at run 
> time the udf gets the actual type, ie Double in this case.  This causes the 
> script execution to fail with exception;
> | Caused by: java.lang.ClassCastException: java.lang.Double cannot be cast to 
> org.apache.pig.data.DataByteArray
> The same script runs properly with Pig 0.8.
> {code}
> A = LOAD 'myinput' as (f1,f2,f3);
> B = foreach A generate f1,f2+f3/1000.0 as doub;
> C = group B by f1;
> D = foreach C generate (long)(MAX(B.doub)) as f4;
> dump D;
> {code}
> myinput
> -------
> a       1000    12345
> b       2000    23456
> c       3000    34567
> a       1500    54321
> b       2500    65432

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to