Hi Dmitriy, I was looking SUBSTRING.java and thats exactly(getArgToFuncMapping) what i am trying now with COUNT. Waiting for the build to complete and test out my changes before i could post this option.
Regards, Deepak On Tue, Mar 8, 2011 at 11:56 AM, Dmitriy Ryaboy <dvrya...@gmail.com> wrote: > Actually I think if you just implement getArgToFuncMapping for COUNT, where > you only return a mapping for a single bag argument, pig will notice that > the wrong number of args is supplied during the compilation phase and no > runtime exceptions will be required. > > I haven't checked how well the funcSpec mapping works with Bags, that's > something to experiment with. > > D > > > On Mon, Mar 7, 2011 at 9:55 PM, deepak kumar v <deepu....@gmail.com>wrote: > >> Hi Pig Developers, >> This is my first dive into open source contribution and i hope to dive >> deep. >> >> I was going through https://issues.apache.org/jira/browse/PIG-671 and >> observed the following with COUNT.java >> >> COUNT.exec() always retrieves the first item from input tuple which it >> assumes is a bag and counts the numbers of items in the bag. >> Even if we pass multiple arguments to COUNT(), it will always pick the >> first >> argument. >> >> There are few ways we go through this >> a) Leave as is cause it returns correct result for counting the number of >> items in the first argument. >> OR >> b) Make a check for the size of the input tuple in COUNT.exec() and if it >> is >> not 1 then throw ExecException() or IllegalArgumentException {might be >> correct} >> which will cause the Map job to fail. >> >> Let me know how to we go about it. >> >> >> Regards, >> Deepak >> > >