[ 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