[ https://issues.apache.org/jira/browse/PIG-674?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Xuefu Zhang resolved PIG-674. ----------------------------- Resolution: Fixed > Improve errors in Pig parser > ---------------------------- > > Key: PIG-674 > URL: https://issues.apache.org/jira/browse/PIG-674 > Project: Pig > Issue Type: Bug > Reporter: Araceli Henley > Assignee: Xuefu Zhang > Priority: Minor > Fix For: 0.9.0 > > > These tests are for Aggregate Functions > ################################################################ > Recomend msg - SHould indicate that this is an invalid cast. > ERROR - MAX with int with invalid cast > TEST: 106, > PIG SCRIPT: A =LOAD ':INPATH:/types/DataAll' USING PigStorage() AS ( > Fint:int, Flong:long, Fdouble:double, Ffloat:float, Fchar:chararray, > Fchararray:chararray, Fbytearray:bytearray, Fmap:map[], Fbag:BAG{ t:tuple( > name, age, avg ) }, Ftuple:( name:chararray, age:int, avg:float) );B =GROUP A > ALL; X =FOREACH B GENERATE A.Fint, MAX( (invalid) A.Fint ); STORE X INTO > ':OUTPATH:' USING PigStorage();\, > CURRENT ERROR MESSAGE: "ERROR 1000:.*Invalid alias: MAX", > ################################################################ > Recomend msg - SHould indicate that this is an invalid cast. > ERROR - MAX with int with invalid cast > TEST: 106, > PIG SCRIPT: A =LOAD ':INPATH:/types/DataAll' USING PigStorage() AS ( > Fint:int, Flong:long, Fdouble:double, Ffloat:float, Fchar:chararray, > Fchararray:chararray, Fbytearray:bytearray, Fmap:map[], Fbag:BAG{ t:tuple( > name, age, avg ) }, Ftuple:( name:chararray, age:int, avg:float) );B =GROUP A > ALL; X =FOREACH B GENERATE A.Fint, MAX( (invalid) A.Fint ); STORE X INTO > ':OUTPATH:' USING PigStorage();\, > CURRENT ERROR MESSAGE: "ERROR 1000:.*Invalid alias: MAX", > ################################################################ > Recomend msg - > ERROR: invalid use of foreach with multiple functions and positional > parameters > TEST: 107, > PIG SCRIPT: A =LOAD ':INPATH:/types/DataAll' USING PigStorage() AS ( > Fint:int, Flong:long, Fdouble:double, Ffloat:float, Fchar:chararray, > Fchararray:chararray, Fbytearray:bytearray, Fmap:map[], Fbag:BAG{ t:tuple( > name, age, avg ) }, Ftuple:( name:chararray, age:int, avg:float) );B =GROUP A > ALL; X =FOREACH A GENERATE SUM( A.$0), AVG( A.$0), COUNT( A.$0), MAX(A.$0), > MIN( A.$0); STORE X INTO ':OUTPATH:' USING PigStorage();\, > CURRENT ERROR MESSAGE: "FIX: improve msg", > ################################################################ > Recomend msg - ERROR 1052: Cannot cast bag with schema.*: bag > ERROR: invalid use of MIN with int with valid cast > TEST: 108, > PIG SCRIPT: A =LOAD ':INPATH:/types/DataAll' USING PigStorage() AS ( > Fint:int, Flong:long, Fdouble:double, Ffloat:float, Fchar:chararray, > Fchararray:chararray, Fbytearray:bytearray, Fmap:map[], Fbag:BAG{ t:tuple( > name, age, avg ) }, Ftuple:( name:chararray, age:int, avg:float) );B =GROUP A > ALL; X =FOREACH B GENERATE A.Fint, MIN( (double) A.Fint ); STORE X INTO > ':OUTPATH:' USING PigStorage();\, > CURRENT ERROR MESSAGE: "ERROR 1052: Cannot cast.*", > ################################################################ > Recomend msg - > ERROR - AVG needs bag > TEST: 113, > PIG SCRIPT: A =LOAD ':INPATH:/types/DataAll' USING PigStorage() AS ( > Fint:int, Flong:long, Fdouble:double, Ffloat:float, Fchar:chararray, > Fchararray:chararray, Fbytearray:bytearray, Fmap:map[], Fbag:BAG{ t:tuple( > name, age, avg ) }, Ftuple:( name:chararray, age:int, avg:float) ); B = GROUP > A ALL; X =FOREACH B GENERATE AVG( A.Fint); STORE X INTO ':OUTPATH:' USING > PigStorage();\, > CURRENT ERROR MESSAGE: "ERROR 1052: Cannot cast bag with schema.*bag", > ################################################################ > Recomend msg - this should indicate there was an invalid Cast > ERROR - AVG with int with invalid cast > TEST: 115, > PIG SCRIPT: A =LOAD ':INPATH:/types/DataAll' USING PigStorage() AS ( > Fint:int, Flong:long, Fdouble:double, Ffloat:float, Fchar:chararray, > Fchararray:chararray, Fbytearray:bytearray, Fmap:map[], Fbag:BAG{ t:tuple( > name, age, avg ) }, Ftuple:( name:chararray, age:int, avg:float) );B =GROUP A > ALL; X =FOREACH B GENERATE A.Fint, AVG( (invalid) A.Fint ); STORE X INTO > ':OUTPATH:' USING PigStorage();\, > CURRENT ERROR MESSAGE: "ERROR 1000:.*Invalid alias: AVG", > ################################################################ > Recomend msg - this should indicate that COUNT expects a bag for an > argument > ERROR - COUNT needs bag > TEST: 118, > PIG SCRIPT: A =LOAD ':INPATH:/types/DataAll' USING PigStorage() AS ( > Fint:int, Flong:long, Fdouble:double, Ffloat:float, Fchar:chararray, > Fchararray:chararray, Fbytearray:bytearray, Fmap:map[], Fbag:BAG{ t:tuple( > name, age, avg ) }, Ftuple:( name:chararray, age:int, avg:float) ); B = GROUP > A ALL; X =FOREACH B GENERATE COUNT( Fint); STORE X INTO ':OUTPATH:' USING > PigStorage();\, > CURRENT ERROR MESSAGE: "ERROR 1000:.*Invalid alias: COUNT", > ################################################################ > Recomend msg - missing parenthesis while parsing MAX.", > ERROR - MAX without parenthesis > TEST: 133, > PIG SCRIPT: A =LOAD ':INPATH:/types/DataAll' USING PigStorage() AS ( > Fint:int, Flong:long, Fdouble:double, Ffloat:float, Fchar:chararray, > Fchararray:chararray, Fbytearray:bytearray, Fmap:map[], Fbag:BAG{ t:tuple( > name, age, avg ) }, Ftuple:( name:chararray, age:int, avg:float) );B =GROUP A > ALL; X =FOREACH B GENERATE MAX A.$0; STORE X INTO ':OUTPATH:' USING > PigStorage();\, > CURRENT ERROR MESSAGE: "ERROR 1000:.*MAX", > ################################################################ > ERROR - SUM with missing argument > TEST: 161, > PIG SCRIPT: A =LOAD ':INPATH:/types/DataAll' USING PigStorage() AS ( > Fint:int, Flong:long, Fdouble:double, Ffloat:float, Fchar:chararray, > Fchararray:chararray, Fbytearray:bytearray, Fmap:map[], Fbag:BAG{ t:tuple( > name, age, avg ) }, Ftuple:( name:chararray, age:int, avg:float) );B =GROUP A > ALL; X =FOREACH B GENERATE SUM(); STORE X INTO ':OUTPATH:' USING > PigStorage();\, > CURRENT ERROR MESSAGE: "ERROR 2064: Unsupported root type in LOForEach: > LOUserFunc", > ################################################################ > Recomend msg - > ERROR - SUM with invalid number of parameters > TEST: 162, > PIG SCRIPT: A =LOAD ':INPATH:/types/DataAll' USING PigStorage() AS ( > Fint:int, Flong:long, Fdouble:double, Ffloat:float, Fchar:chararray, > Fchararray:chararray, Fbytearray:bytearray, Fmap:map[], Fbag:BAG{ t:tuple( > name, age, avg ) }, Ftuple:( name:chararray, age:int, avg:float) );B =GROUP A > ALL; X =FOREACH B GENERATE SUM ( A.$0, A.$0 ); STORE X INTO ':OUTPATH:' USING > PigStorage();\, > CURRENT ERROR MESSAGE: "ERROR 1045:.*SUM", > ################################################################ > Recomend msg - > ERROR - SUM with incompatible datatype > TEST: 163, > PIG SCRIPT: A =LOAD ':INPATH:/types/DataAll' USING PigStorage() AS ( > Fint:int, Flong:long, Fdouble:double, Ffloat:float, Fchar:chararray, > Fchararray:chararray, Fbytearray:bytearray, Fmap:map[], Fbag:BAG{ t:tuple( > name, age, avg ) }, Ftuple:( name:chararray, age:int, avg:float) );B =GROUP A > ALL; X =FOREACH B GENERATE SUM ( A.Fbag ); STORE X INTO ':OUTPATH:' USING > PigStorage();\, > CURRENT ERROR MESSAGE: "FIX: Improve error message. Currently ERROR: 1045", > ################################################################ > Recomend msg - invalid use of SUM > ERROR: invalid use of foreach with multiple functions and positional > parameters > TEST: 107, > PIG SCRIPT: A =LOAD ':INPATH:/types/DataAll' USING PigStorage() AS ( > Fint:int, Flong:long, Fdouble:double, Ffloat:float, Fchar:chararray, > Fchararray:chararray, Fbytearray:bytearray, Fmap:map[], Fbag:BAG{ t:tuple( > name, age, avg ) }, Ftuple:( name:chararray, age:int, avg:float) );B =GROUP A > ALL; X =FOREACH A GENERATE SUM( A.$0), AVG( A.$0), COUNT( A.$0), MAX(A.$0), > MIN( A.$0); STORE X INTO ':OUTPATH:' USING PigStorage();\, > CURRENT ERROR MESSAGE: " ERROR 1000: Error during parsing. Invalid alias: > A", > ################################################################ > Recomend msg - Incompatible type in argument to MAX > ERROR - MAX with incompatible type > TEST: 143, > PIG SCRIPT: A =LOAD ':INPATH:/types/DataAll' USING PigStorage() AS ( > Fint:int, Flong:long, Fdouble:double, Ffloat:float, Fchar:chararray, > Fchararray:chararray, Fbytearray:bytearray, Fmap:map[], Fbag:BAG{ t:tuple( > name, age, avg ) }, Ftuple:( name:chararray, age:int, avg:float) ); B = GROUP > A ALL; X= FOREACH B GENERATE MAX( A.Ftuple ); STORE X INTO ':OUTPATH:' USING > PigStorage();\, > CURRENT ERROR MESSAGE: " ERROR 1045: Could not infer the matching function", > ################################################################ > Recomend msg - Missing parenthesis in MIN > ERROR - MIN without parenthesis > TEST: 144, > PIG SCRIPT: A =LOAD ':INPATH:/types/DataAll' USING PigStorage() AS ( > Fint:int, Flong:long, Fdouble:double, Ffloat:float, Fchar:chararray, > Fchararray:chararray, Fbytearray:bytearray, Fmap:map[], Fbag:BAG{ t:tuple( > name, age, avg ) }, Ftuple:( name:chararray, age:int, avg:float) );B =GROUP A > ALL; X =FOREACH B GENERATE MIN A.$0; STORE X INTO ':OUTPATH:' USING > PigStorage();\, > CURRENT ERROR MESSAGE: "ERROR 1000:.*Invalid alias: MIN", > ################################################################ > Recomend msg - > ERROR - SUM with incompatible cast > TEST: 164, > PIG SCRIPT: A =LOAD ':INPATH:/types/DataAll' USING PigStorage() AS ( > Fint:int, Flong:long, Fdouble:double, Ffloat:float, Fchar:chararray, > Fchararray:chararray, Fbytearray:bytearray, Fmap:map[], Fbag:BAG{ t:tuple( > name, age, avg ) }, Ftuple:( name:chararray, age:int, avg:float) );B =GROUP A > ALL; X =FOREACH B GENERATE SUM ( (chararray) Fint, Fint ); STORE X INTO > ':OUTPATH:' USING PigStorage();\, > CURRENT ERROR MESSAGE: "ERROR 1000: Error during parsing. Invalid alias: > Fint", > ################################################################ > Recomend msg - > ERROR - AVG with incompatible cast > TEST: 175, > PIG SCRIPT: A =LOAD ':INPATH:/types/DataAll' USING PigStorage() AS ( > Fint:int, Flong:long, Fdouble:double, Ffloat:float, Fchar:chararray, > Fchararray:chararray, Fbytearray:bytearray, Fmap:map[], Fbag:BAG{ t:tuple( > name, age, avg ) }, Ftuple:( name:chararray, age:int, avg:float) );B =GROUP A > ALL; X =FOREACH B GENERATE AVG ( (chararray) Fint ); STORE X INTO > ':OUTPATH:' USING PigStorage();\, > CURRENT ERROR MESSAGE: "ERROR 1045:.*AVG", > ################################################################ > Recomend msg - Incompatible type in argument for AVG > ERROR - AVG with incompatible type > TEST: 177, > PIG SCRIPT: A =LOAD ':INPATH:/types/DataAll' USING PigStorage() AS ( > Fint:int, Flong:long, Fdouble:double, Ffloat:float, Fchar:chararray, > Fchararray:chararray, Fbytearray:bytearray, Fmap:map[], Fbag:BAG{ t:tuple( > name, age, avg ) }, Ftuple:( name:chararray, age:int, avg:float) ); B = GROUP > A ALL; X = FOREACH B GENERATE AVG( A.Ftuple ); STORE X INTO ':OUTPATH:' USING > PigStorage();\, > CURRENT ERROR MESSAGE: " ERROR 1045:.*AVG", -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira