Modified: hadoop/pig/branches/multiquery/test/org/apache/pig/test/TestPOCogroup.java URL: http://svn.apache.org/viewvc/hadoop/pig/branches/multiquery/test/org/apache/pig/test/TestPOCogroup.java?rev=758107&r1=758106&r2=758107&view=diff ============================================================================== --- hadoop/pig/branches/multiquery/test/org/apache/pig/test/TestPOCogroup.java (original) +++ hadoop/pig/branches/multiquery/test/org/apache/pig/test/TestPOCogroup.java Wed Mar 25 00:42:40 2009 @@ -39,6 +39,7 @@ import org.apache.pig.data.Tuple; import org.apache.pig.data.TupleFactory; import org.apache.pig.impl.plan.OperatorKey; +import org.apache.pig.impl.plan.PlanException; public class TestPOCogroup extends TestCase { Random r = new Random(); @@ -146,7 +147,7 @@ assertEquals(expected.size(), obtained.size()); } - public void testCogroup1Input() throws ExecException { + public void testCogroup1Input() throws ExecException, PlanException { DataBag input = BagFactory.getInstance().newDefaultBag(); Tuple t = TupleFactory.getInstance().newTuple(); t.append(1);
Modified: hadoop/pig/branches/multiquery/test/org/apache/pig/test/TestPigContext.java URL: http://svn.apache.org/viewvc/hadoop/pig/branches/multiquery/test/org/apache/pig/test/TestPigContext.java?rev=758107&r1=758106&r2=758107&view=diff ============================================================================== --- hadoop/pig/branches/multiquery/test/org/apache/pig/test/TestPigContext.java (original) +++ hadoop/pig/branches/multiquery/test/org/apache/pig/test/TestPigContext.java Wed Mar 25 00:42:40 2009 @@ -27,6 +27,7 @@ import junit.framework.TestCase; +import org.apache.hadoop.mapred.FileAlreadyExistsException; import org.apache.pig.ExecType; import org.apache.pig.PigServer; import org.apache.pig.impl.PigContext; @@ -83,6 +84,12 @@ check_asserts(); } + + @Test + public void testHadoopExceptionCreation() throws Exception { + Object object = PigContext.instantiateFuncFromSpec("org.apache.hadoop.mapred.FileAlreadyExistsException"); + assertTrue(object instanceof FileAlreadyExistsException); + } @After @Override Modified: hadoop/pig/branches/multiquery/test/org/apache/pig/test/TestSchema.java URL: http://svn.apache.org/viewvc/hadoop/pig/branches/multiquery/test/org/apache/pig/test/TestSchema.java?rev=758107&r1=758106&r2=758107&view=diff ============================================================================== --- hadoop/pig/branches/multiquery/test/org/apache/pig/test/TestSchema.java (original) +++ hadoop/pig/branches/multiquery/test/org/apache/pig/test/TestSchema.java Wed Mar 25 00:42:40 2009 @@ -77,9 +77,9 @@ Schema schema2 = new Schema(list2) ; Assert.assertTrue(Schema.equals(schema1, schema2, false, false)) ; - + innerList2.get(1).alias = "pi" ; - + Assert.assertFalse(Schema.equals(schema1, schema2, false, false)) ; Assert.assertTrue(Schema.equals(schema1, schema2, false, true)) ; @@ -567,5 +567,63 @@ // Compare Assert.assertTrue(Schema.equals(mergedSchema, expected, false, false)) ; } + + @Test + public void testSchemaEqualTwoLevelAccess() throws Exception { + + List<FieldSchema> innerList1 = new ArrayList<FieldSchema>() ; + innerList1.add(new FieldSchema("11a", DataType.INTEGER)) ; + innerList1.add(new FieldSchema("11b", DataType.LONG)) ; + + List<FieldSchema> innerList2 = new ArrayList<FieldSchema>() ; + innerList2.add(new FieldSchema("11a", DataType.INTEGER)) ; + innerList2.add(new FieldSchema("11b", DataType.LONG)) ; + + Schema innerSchema1 = new Schema(innerList1) ; + Schema innerSchema2 = new Schema(innerList2) ; + + List<FieldSchema> list1 = new ArrayList<FieldSchema>() ; + list1.add(new FieldSchema("1a", DataType.BYTEARRAY)) ; + list1.add(new FieldSchema("1b", innerSchema1)) ; + list1.add(new FieldSchema("1c", DataType.INTEGER)) ; + + List<FieldSchema> list2 = new ArrayList<FieldSchema>() ; + list2.add(new FieldSchema("1a", DataType.BYTEARRAY)) ; + list2.add(new FieldSchema("1b", innerSchema2)) ; + list2.add(new FieldSchema("1c", DataType.INTEGER)) ; + + Schema schema1 = new Schema(list1) ; + Schema schema2 = new Schema(list2) ; + + Schema.FieldSchema bagFs1 = new Schema.FieldSchema("b", schema1, DataType.BAG); + Schema bagSchema1 = new Schema(bagFs1); + + Schema.FieldSchema tupleFs = new Schema.FieldSchema("t", schema2, DataType.TUPLE); + Schema bagSchema = new Schema(tupleFs); + bagSchema.setTwoLevelAccessRequired(true); + Schema.FieldSchema bagFs2 = new Schema.FieldSchema("b", bagSchema, DataType.BAG); + Schema bagSchema2 = new Schema(bagFs2); + + + Assert.assertTrue(Schema.equals(bagSchema1, bagSchema2, false, false)) ; + + innerList2.get(1).alias = "pi" ; + + Assert.assertFalse(Schema.equals(bagSchema1, bagSchema2, false, false)) ; + Assert.assertTrue(Schema.equals(bagSchema1, bagSchema2, false, true)) ; + + innerList2.get(1).alias = "11b" ; + innerList2.get(1).type = DataType.BYTEARRAY ; + + Assert.assertFalse(Schema.equals(bagSchema1, bagSchema2, false, false)) ; + Assert.assertTrue(Schema.equals(bagSchema1, bagSchema2, true, false)) ; + + innerList2.get(1).type = DataType.LONG ; + + Assert.assertTrue(Schema.equals(bagSchema1, bagSchema2, false, false)) ; + + list2.get(0).type = DataType.CHARARRAY ; + Assert.assertFalse(Schema.equals(bagSchema1, bagSchema2, false, false)) ; + } } Modified: hadoop/pig/branches/multiquery/test/org/apache/pig/test/TestTypeCheckingValidator.java URL: http://svn.apache.org/viewvc/hadoop/pig/branches/multiquery/test/org/apache/pig/test/TestTypeCheckingValidator.java?rev=758107&r1=758106&r2=758107&view=diff ============================================================================== --- hadoop/pig/branches/multiquery/test/org/apache/pig/test/TestTypeCheckingValidator.java (original) +++ hadoop/pig/branches/multiquery/test/org/apache/pig/test/TestTypeCheckingValidator.java Wed Mar 25 00:42:40 2009 @@ -25,6 +25,7 @@ import junit.framework.TestCase; +import org.apache.pig.EvalFunc; import org.apache.pig.FuncSpec; import org.apache.pig.impl.logicalLayer.validators.*; import org.apache.pig.impl.logicalLayer.* ; @@ -75,9 +76,9 @@ LOConst constant3 = new LOConst(plan, genNewOperatorKey(), 123f) ; constant3.setType(DataType.FLOAT) ; - LOAdd add1 = new LOAdd(plan, genNewOperatorKey(), constant1, constant2) ; - LOCast cast1 = new LOCast(plan, genNewOperatorKey(), constant3, DataType.DOUBLE) ; - LOMultiply mul1 = new LOMultiply(plan, genNewOperatorKey(), add1, cast1) ; + LOAdd add1 = new LOAdd(plan, genNewOperatorKey()) ; + LOCast cast1 = new LOCast(plan, genNewOperatorKey(), DataType.DOUBLE) ; + LOMultiply mul1 = new LOMultiply(plan, genNewOperatorKey()) ; plan.add(constant1) ; plan.add(constant2) ; @@ -122,9 +123,9 @@ LOConst constant3 = new LOConst(plan, genNewOperatorKey(), "123") ; constant3.setType(DataType.CHARARRAY) ; - LOAdd add1 = new LOAdd(plan, genNewOperatorKey(), constant1, constant2) ; - LOCast cast1 = new LOCast(plan, genNewOperatorKey(), constant3, DataType.BYTEARRAY) ; - LOMultiply mul1 = new LOMultiply(plan, genNewOperatorKey(), add1, cast1) ; + LOAdd add1 = new LOAdd(plan, genNewOperatorKey()) ; + LOCast cast1 = new LOCast(plan, genNewOperatorKey(), DataType.BYTEARRAY) ; + LOMultiply mul1 = new LOMultiply(plan, genNewOperatorKey()) ; plan.add(constant1) ; plan.add(constant2) ; @@ -168,10 +169,10 @@ LOConst constant4 = new LOConst(plan, genNewOperatorKey(), true) ; constant4.setType(DataType.BOOLEAN) ; - LOSubtract sub1 = new LOSubtract(plan, genNewOperatorKey(), constant1, constant2) ; - LOGreaterThan gt1 = new LOGreaterThan(plan, genNewOperatorKey(), sub1, constant3) ; - LOAnd and1 = new LOAnd(plan, genNewOperatorKey(), gt1, constant4) ; - LONot not1 = new LONot(plan, genNewOperatorKey(), and1) ; + LOSubtract sub1 = new LOSubtract(plan, genNewOperatorKey()) ; + LOGreaterThan gt1 = new LOGreaterThan(plan, genNewOperatorKey()) ; + LOAnd and1 = new LOAnd(plan, genNewOperatorKey()) ; + LONot not1 = new LONot(plan, genNewOperatorKey()) ; plan.add(constant1) ; plan.add(constant2) ; @@ -228,8 +229,8 @@ LOConst constant3 = new LOConst(plan, genNewOperatorKey(), 123) ; constant3.setType(DataType.INTEGER) ; - LOMod mod1 = new LOMod(plan, genNewOperatorKey(), constant1, constant2) ; - LOEqual equal1 = new LOEqual(plan, genNewOperatorKey(), mod1, constant3) ; + LOMod mod1 = new LOMod(plan, genNewOperatorKey()) ; + LOEqual equal1 = new LOEqual(plan, genNewOperatorKey()) ; plan.add(constant1) ; plan.add(constant2) ; @@ -272,9 +273,9 @@ LOConst constant3 = new LOConst(plan, genNewOperatorKey(), 123f) ; constant3.setType(DataType.FLOAT) ; - LODivide div1 = new LODivide(plan, genNewOperatorKey(), constant1, constant2) ; - LOCast cast1 = new LOCast(plan, genNewOperatorKey(), constant3, DataType.DOUBLE) ; - LONotEqual notequal1 = new LONotEqual(plan, genNewOperatorKey(), div1, cast1) ; + LODivide div1 = new LODivide(plan, genNewOperatorKey()) ; + LOCast cast1 = new LOCast(plan, genNewOperatorKey(), DataType.DOUBLE) ; + LONotEqual notequal1 = new LONotEqual(plan, genNewOperatorKey()) ; plan.add(constant1) ; plan.add(constant2) ; @@ -320,9 +321,9 @@ LOConst constant3 = new LOConst(plan, genNewOperatorKey(), "123") ; constant3.setType(DataType.CHARARRAY) ; - LODivide div1 = new LODivide(plan, genNewOperatorKey(), constant1, constant2) ; - LOCast cast1 = new LOCast(plan, genNewOperatorKey(), constant3, DataType.BYTEARRAY) ; - LONotEqual notequal1 = new LONotEqual(plan, genNewOperatorKey(), div1, cast1) ; + LODivide div1 = new LODivide(plan, genNewOperatorKey()) ; + LOCast cast1 = new LOCast(plan, genNewOperatorKey(), DataType.BYTEARRAY) ; + LONotEqual notequal1 = new LONotEqual(plan, genNewOperatorKey()) ; plan.add(constant1) ; plan.add(constant2) ; @@ -367,8 +368,8 @@ LOConst constant4 = new LOConst(plan, genNewOperatorKey(), 123D) ; constant4.setType(DataType.DOUBLE) ; - LOLesserThanEqual lesser1 = new LOLesserThanEqual(plan, genNewOperatorKey(), constant1, constant2) ; - LOBinCond bincond1 = new LOBinCond(plan, genNewOperatorKey(), lesser1, constant3, constant4) ; + LOLesserThanEqual lesser1 = new LOLesserThanEqual(plan, genNewOperatorKey()) ; + LOBinCond bincond1 = new LOBinCond(plan, genNewOperatorKey()) ; plan.add(constant1) ; plan.add(constant2) ; @@ -414,7 +415,7 @@ LOConst constant2 = new LOConst(plan, genNewOperatorKey(), 20L) ; constant2.setType(DataType.LONG) ; - LOAdd add1 = new LOAdd(plan, genNewOperatorKey(), constant1, constant2) ; + LOAdd add1 = new LOAdd(plan, genNewOperatorKey()) ; plan.add(constant1) ; plan.add(constant2) ; @@ -451,8 +452,8 @@ LOConst constant3 = new LOConst(plan, genNewOperatorKey(), 123L) ; constant3.setType(DataType.LONG) ; - LOGreaterThan gt1 = new LOGreaterThan(plan, genNewOperatorKey(), constant1, constant2) ; - LOEqual equal1 = new LOEqual(plan, genNewOperatorKey(), gt1, constant3) ; + LOGreaterThan gt1 = new LOGreaterThan(plan, genNewOperatorKey()) ; + LOEqual equal1 = new LOEqual(plan, genNewOperatorKey()) ; plan.add(constant1) ; plan.add(constant2) ; @@ -536,10 +537,10 @@ LOConst constant2 = new LOConst(plan, genNewOperatorKey(), tuple) ; constant2.setType(DataType.TUPLE) ; constant2.setFieldSchema(new Schema.FieldSchema(null, tupleSchema, DataType.TUPLE)); - LOCast cast1 = new LOCast(plan, genNewOperatorKey(), constant1, DataType.TUPLE) ; + LOCast cast1 = new LOCast(plan, genNewOperatorKey(), DataType.TUPLE) ; cast1.setFieldSchema(new FieldSchema(null, castSchema, DataType.TUPLE)); - LOEqual equal1 = new LOEqual(plan, genNewOperatorKey(), cast1, constant2) ; + LOEqual equal1 = new LOEqual(plan, genNewOperatorKey()) ; plan.add(constant1) ; plan.add(constant2) ; @@ -622,10 +623,10 @@ LOConst constant2 = new LOConst(plan, genNewOperatorKey(), tuple) ; constant2.setType(DataType.TUPLE) ; constant2.setFieldSchema(new Schema.FieldSchema(null, tupleSchema, DataType.TUPLE)); - LOCast cast1 = new LOCast(plan, genNewOperatorKey(), constant1, DataType.TUPLE) ; + LOCast cast1 = new LOCast(plan, genNewOperatorKey(), DataType.TUPLE) ; cast1.setFieldSchema(new FieldSchema(null, castSchema, DataType.TUPLE)); - LOEqual equal1 = new LOEqual(plan, genNewOperatorKey(), cast1, constant2) ; + LOEqual equal1 = new LOEqual(plan, genNewOperatorKey()) ; plan.add(constant1) ; plan.add(constant2) ; @@ -662,7 +663,7 @@ LOConst constant2 = new LOConst(plan, genNewOperatorKey(), 20D) ; constant2.setType(DataType.DOUBLE) ; - LOMultiply mul1 = new LOMultiply(plan, genNewOperatorKey(), constant1, constant2) ; + LOMultiply mul1 = new LOMultiply(plan, genNewOperatorKey()) ; plan.add(constant1) ; plan.add(constant2) ; @@ -695,11 +696,8 @@ LOConst constant2 = new LOConst(plan, genNewOperatorKey(), 20L) ; constant2.setType(DataType.LONG) ; - LONegative neg1 = new LONegative(plan, genNewOperatorKey(), constant1) ; - LOSubtract subtract1 = new LOSubtract(plan, - genNewOperatorKey(), - neg1, - constant2) ; + LONegative neg1 = new LONegative(plan, genNewOperatorKey()) ; + LOSubtract subtract1 = new LOSubtract(plan, genNewOperatorKey()) ; plan.add(constant1) ; plan.add(neg1) ; @@ -737,7 +735,7 @@ LOConst constant2 = new LOConst(plan, genNewOperatorKey(), 20L) ; constant2.setType(DataType.LONG) ; - LOMod mod1 = new LOMod(plan, genNewOperatorKey(), constant1, constant2) ; + LOMod mod1 = new LOMod(plan, genNewOperatorKey()) ; plan.add(constant1) ; plan.add(constant2) ; @@ -771,15 +769,17 @@ public void testRegexTypeChecking1() throws Throwable { LogicalPlan plan = new LogicalPlan() ; LOConst constant1 = new LOConst(plan, genNewOperatorKey(), "10") ; + LOConst constant2 = new LOConst(plan, genNewOperatorKey(), "Regex"); constant1.setType(DataType.CHARARRAY) ; - LORegexp regex = new LORegexp(plan, genNewOperatorKey(), constant1, - new LOConst(plan, genNewOperatorKey(), "Regex")) ; - + LORegexp regex = new LORegexp(plan, genNewOperatorKey()) ; + plan.add(constant1) ; + plan.add(constant2) ; plan.add(regex) ; plan.connect(constant1, regex) ; + plan.connect(constant2, regex) ; CompilationMessageCollector collector = new CompilationMessageCollector() ; TypeCheckingValidator typeValidator = new TypeCheckingValidator() ; @@ -798,15 +798,17 @@ public void testRegexTypeChecking2() throws Throwable { LogicalPlan plan = new LogicalPlan() ; LOConst constant1 = new LOConst(plan, genNewOperatorKey(), new DataByteArray()) ; + LOConst constant2 = new LOConst(plan, genNewOperatorKey(), "Regex"); constant1.setType(DataType.BYTEARRAY) ; - LORegexp regex = new LORegexp(plan, genNewOperatorKey(), constant1, - new LOConst(plan, genNewOperatorKey(), "Regex")); + LORegexp regex = new LORegexp(plan, genNewOperatorKey()); plan.add(constant1) ; + plan.add(constant2) ; plan.add(regex) ; plan.connect(constant1, regex) ; + plan.connect(constant2, regex) ; CompilationMessageCollector collector = new CompilationMessageCollector() ; TypeCheckingValidator typeValidator = new TypeCheckingValidator() ; @@ -836,15 +838,17 @@ public void testRegexTypeChecking3() throws Throwable { LogicalPlan plan = new LogicalPlan() ; LOConst constant1 = new LOConst(plan, genNewOperatorKey(), 10) ; + LOConst constant2 = new LOConst(plan, genNewOperatorKey(), "Regex"); constant1.setType(DataType.INTEGER) ; - LORegexp regex = new LORegexp(plan, genNewOperatorKey(), constant1, - new LOConst(plan, genNewOperatorKey(), "Regex")); - + LORegexp regex = new LORegexp(plan, genNewOperatorKey()); + plan.add(constant1) ; + plan.add(constant2) ; plan.add(regex) ; plan.connect(constant1, regex) ; + plan.connect(constant2, regex) ; try { CompilationMessageCollector collector = new CompilationMessageCollector() ; @@ -1315,9 +1319,7 @@ project2.setSentinel(true); LOGreaterThan gt1 = new LOGreaterThan(innerPlan, - genNewOperatorKey(), - project1, - project2) ; + genNewOperatorKey()) ; innerPlan.add(project1) ; innerPlan.add(project2) ; @@ -1384,7 +1386,7 @@ LOProject project2 = new LOProject(innerPlan, genNewOperatorKey(), load1, 1) ; project2.setSentinel(true); - LOAdd add1 = new LOAdd(innerPlan, genNewOperatorKey(), project1, project2) ; + LOAdd add1 = new LOAdd(innerPlan, genNewOperatorKey()) ; innerPlan.add(project1) ; innerPlan.add(project2) ; @@ -1533,7 +1535,7 @@ project11.setSentinel(true); LOProject project12 = new LOProject(innerPlan1, genNewOperatorKey(), load1, 1) ; project11.setSentinel(true); - LOMultiply mul1 = new LOMultiply(innerPlan1, genNewOperatorKey(), project11, project12) ; + LOMultiply mul1 = new LOMultiply(innerPlan1, genNewOperatorKey()) ; innerPlan1.add(project11) ; innerPlan1.add(project12) ; @@ -1548,7 +1550,7 @@ project21.setSentinel(true); LOConst const21 = new LOConst(innerPlan2, genNewOperatorKey(), 26L) ; const21.setType(DataType.LONG); - LOMod mod21 = new LOMod(innerPlan2, genNewOperatorKey(), project21, const21) ; + LOMod mod21 = new LOMod(innerPlan2, genNewOperatorKey()) ; innerPlan2.add(project21) ; innerPlan2.add(const21) ; @@ -1631,7 +1633,7 @@ project11.setSentinel(true); LOProject project12 = new LOProject(innerPlan1, genNewOperatorKey(), load1, 1) ; project11.setSentinel(true); - LOMultiply mul1 = new LOMultiply(innerPlan1, genNewOperatorKey(), project11, project12) ; + LOMultiply mul1 = new LOMultiply(innerPlan1, genNewOperatorKey()) ; innerPlan1.add(project11) ; innerPlan1.add(project12) ; @@ -1646,7 +1648,7 @@ project21.setSentinel(true); LOConst const21 = new LOConst(innerPlan2, genNewOperatorKey(), "26") ; const21.setType(DataType.CHARARRAY); - LOMod mod21 = new LOMod(innerPlan2, genNewOperatorKey(), project21, const21) ; + LOMod mod21 = new LOMod(innerPlan2, genNewOperatorKey()) ; innerPlan2.add(project21) ; innerPlan2.add(const21) ; @@ -1726,7 +1728,7 @@ project11.setSentinel(true); LOProject project12 = new LOProject(innerPlan1, genNewOperatorKey(), load1, 1) ; project11.setSentinel(true); - LONotEqual notequal1 = new LONotEqual(innerPlan1, genNewOperatorKey(), project11, project12) ; + LONotEqual notequal1 = new LONotEqual(innerPlan1, genNewOperatorKey()) ; innerPlan1.add(project11) ; innerPlan1.add(project12) ; @@ -1742,9 +1744,7 @@ LOConst const21 = new LOConst(innerPlan2, genNewOperatorKey(), 26) ; const21.setType(DataType.LONG); LOLesserThanEqual lesser21 = new LOLesserThanEqual(innerPlan2, - genNewOperatorKey(), - project21, - const21) ; + genNewOperatorKey()) ; innerPlan2.add(project21) ; innerPlan2.add(const21) ; @@ -1854,7 +1854,7 @@ project11.setSentinel(true); LOProject project12 = new LOProject(innerPlan1, genNewOperatorKey(), load1, 1) ; project11.setSentinel(true); - LONotEqual notequal1 = new LONotEqual(innerPlan1, genNewOperatorKey(), project11, project12) ; + LONotEqual notequal1 = new LONotEqual(innerPlan1, genNewOperatorKey()) ; innerPlan1.add(project11) ; innerPlan1.add(project12) ; @@ -1870,9 +1870,7 @@ LOConst const21 = new LOConst(innerPlan2, genNewOperatorKey(), 26) ; const21.setType(DataType.LONG); LOSubtract subtract21 = new LOSubtract(innerPlan2, - genNewOperatorKey(), - project21, - const21) ; + genNewOperatorKey()) ; innerPlan2.add(project21) ; innerPlan2.add(const21) ; @@ -1972,9 +1970,7 @@ LOConst const111 = new LOConst(innerPlan11, genNewOperatorKey(), 26F) ; const111.setType(DataType.FLOAT); LOSubtract subtract111 = new LOSubtract(innerPlan11, - genNewOperatorKey(), - project111, - const111) ; + genNewOperatorKey()) ; innerPlan11.add(project111) ; innerPlan11.add(const111) ; @@ -1991,9 +1987,7 @@ project212.setSentinel(true); LOAdd add211 = new LOAdd(innerPlan21, - genNewOperatorKey(), - project211, - project212) ; + genNewOperatorKey()) ; innerPlan21.add(project211) ; innerPlan21.add(project212) ; @@ -2010,9 +2004,7 @@ LOConst const121 = new LOConst(innerPlan12, genNewOperatorKey(), 26) ; const121.setType(DataType.INTEGER); LOSubtract subtract121 = new LOSubtract(innerPlan12, - genNewOperatorKey(), - project121, - const121) ; + genNewOperatorKey()) ; innerPlan12.add(project121) ; innerPlan12.add(const121) ; @@ -2143,9 +2135,7 @@ LOConst const111 = new LOConst(innerPlan11, genNewOperatorKey(), 26F) ; const111.setType(DataType.FLOAT); LOSubtract subtract111 = new LOSubtract(innerPlan11, - genNewOperatorKey(), - project111, - const111) ; + genNewOperatorKey()) ; innerPlan11.add(project111) ; innerPlan11.add(const111) ; @@ -2161,9 +2151,7 @@ LOConst const121 = new LOConst(innerPlan12, genNewOperatorKey(), 26) ; const121.setType(DataType.INTEGER); LOSubtract subtract121 = new LOSubtract(innerPlan12, - genNewOperatorKey(), - project121, - const121) ; + genNewOperatorKey()) ; innerPlan12.add(project121) ; innerPlan12.add(const121) ; @@ -2282,9 +2270,7 @@ LOConst const111 = new LOConst(innerPlan11, genNewOperatorKey(), 26F) ; const111.setType(DataType.FLOAT); LOSubtract subtract111 = new LOSubtract(innerPlan11, - genNewOperatorKey(), - project111, - const111) ; + genNewOperatorKey()) ; innerPlan11.add(project111) ; innerPlan11.add(const111) ; @@ -2389,9 +2375,7 @@ LOConst const11 = new LOConst(innerPlan1, genNewOperatorKey(), 26F) ; const11.setType(DataType.FLOAT); LOSubtract subtract11 = new LOSubtract(innerPlan1, - genNewOperatorKey(), - project11, - const11) ; + genNewOperatorKey()) ; innerPlan1.add(project11) ; innerPlan1.add(const11) ; @@ -2402,14 +2386,12 @@ // Create expression inner plan #2 LogicalPlan innerPlan2 = new LogicalPlan() ; - LOProject project21 = new LOProject(innerPlan1, genNewOperatorKey(), load1, 0) ; + LOProject project21 = new LOProject(innerPlan2, genNewOperatorKey(), load1, 0) ; project21.setSentinel(true); - LOProject project22 = new LOProject(innerPlan1, genNewOperatorKey(), load1, 1) ; + LOProject project22 = new LOProject(innerPlan2, genNewOperatorKey(), load1, 1) ; project21.setSentinel(true); - LOAdd add21 = new LOAdd(innerPlan1, - genNewOperatorKey(), - project21, - project22) ; + LOAdd add21 = new LOAdd(innerPlan2, + genNewOperatorKey()) ; innerPlan2.add(project21) ; innerPlan2.add(project22) ; @@ -2483,9 +2465,7 @@ LOConst const11 = new LOConst(innerPlan1, genNewOperatorKey(), "26F") ; const11.setType(DataType.CHARARRAY); LOSubtract subtract11 = new LOSubtract(innerPlan1, - genNewOperatorKey(), - project11, - const11) ; + genNewOperatorKey()) ; innerPlan1.add(project11) ; innerPlan1.add(const11) ; @@ -2496,14 +2476,12 @@ // Create expression inner plan #2 LogicalPlan innerPlan2 = new LogicalPlan() ; - LOProject project21 = new LOProject(innerPlan1, genNewOperatorKey(), load1, 0) ; + LOProject project21 = new LOProject(innerPlan2, genNewOperatorKey(), load1, 0) ; project21.setSentinel(true); - LOProject project22 = new LOProject(innerPlan1, genNewOperatorKey(), load1, 1) ; + LOProject project22 = new LOProject(innerPlan2, genNewOperatorKey(), load1, 1) ; project21.setSentinel(true); - LOAdd add21 = new LOAdd(innerPlan1, - genNewOperatorKey(), - project21, - project22) ; + LOAdd add21 = new LOAdd(innerPlan2, + genNewOperatorKey()) ; innerPlan2.add(project21) ; innerPlan2.add(project22) ; @@ -2699,14 +2677,12 @@ // Create expression inner plan #1 of input #2 LogicalPlan innerPlan2 = new LogicalPlan() ; - LOProject project21 = new LOProject(innerPlan1, genNewOperatorKey(), load1, 0) ; + LOProject project21 = new LOProject(innerPlan2, genNewOperatorKey(), load1, 0) ; project21.setSentinel(true); - LOProject project22 = new LOProject(innerPlan1, genNewOperatorKey(), load1, 1) ; + LOProject project22 = new LOProject(innerPlan2, genNewOperatorKey(), load1, 1) ; project21.setSentinel(true); - LOAdd add21 = new LOAdd(innerPlan1, - genNewOperatorKey(), - project21, - project22) ; + LOAdd add21 = new LOAdd(innerPlan2, + genNewOperatorKey()) ; innerPlan2.add(project21) ; innerPlan2.add(project22) ; @@ -5557,6 +5533,106 @@ } + @Test + public void testBincond() throws Throwable { + planTester.buildPlan("a = load 'a' as (name: chararray, age: int, gpa: float);") ; + planTester.buildPlan("b = group a by name;") ; + LogicalPlan plan = planTester.buildPlan("c = foreach b generate (IsEmpty(a) ? " + TestBinCondFieldSchema.class.getName() + "(*): a) ;") ; + + // validate + CompilationMessageCollector collector = new CompilationMessageCollector() ; + TypeCheckingValidator typeValidator = new TypeCheckingValidator() ; + + typeValidator.validate(plan, collector) ; + + printMessageCollector(collector) ; + printTypeGraph(plan) ; + planTester.printPlan(plan, TypeCheckingTestUtil.getCurrentMethodName()); + + if (collector.hasError()) { + throw new AssertionError("Did not expect an error") ; + } + + + LOForEach foreach = (LOForEach)plan.getLeaves().get(0); + + Schema.FieldSchema charFs = new FieldSchema(null, DataType.CHARARRAY); + Schema.FieldSchema intFs = new FieldSchema(null, DataType.INTEGER); + Schema.FieldSchema floatFs = new FieldSchema(null, DataType.FLOAT); + Schema bagSchema = new Schema(); + bagSchema.add(charFs); + bagSchema.add(intFs); + bagSchema.add(floatFs); + Schema.FieldSchema bagFs = null; + try { + bagFs = new Schema.FieldSchema(null, bagSchema, DataType.BAG); + } catch (FrontendException fee) { + fail("Did not expect an error"); + } + + Schema expectedSchema = new Schema(bagFs); + + assertTrue(Schema.equals(foreach.getSchema(), expectedSchema, false, true)); + + } + + @Test + public void testBinCondForOuterJoin() throws Throwable { + planTester.buildPlan("a = LOAD 'student_data' AS (name: chararray, age: int, gpa: float);"); + planTester.buildPlan("b = LOAD 'voter_data' AS (name: chararray, age: int, registration: chararray, contributions: float);"); + planTester.buildPlan("c = COGROUP a BY name, b BY name;"); + LogicalPlan plan = planTester.buildPlan("d = FOREACH c GENERATE group, flatten((not IsEmpty(a) ? a : (bag{tuple(chararray, int, float)}){(null, null, null)})), flatten((not IsEmpty(b) ? b : (bag{tuple(chararray, int, chararray, float)}){(null,null,null, null)}));"); + + // validate + CompilationMessageCollector collector = new CompilationMessageCollector() ; + TypeCheckingValidator typeValidator = new TypeCheckingValidator() ; + typeValidator.validate(plan, collector) ; + + printMessageCollector(collector) ; + printTypeGraph(plan) ; + planTester.printPlan(plan, TypeCheckingTestUtil.getCurrentMethodName()); + + if (collector.hasError()) { + throw new AssertionError("Expect no error") ; + } + + + LOForEach foreach = (LOForEach)plan.getLeaves().get(0); + String expectedSchemaString = "mygroup: chararray,A::name: chararray,A::age: int,A::gpa: float,B::name: chararray,B::age: int,B::registration: chararray,B::contributions: float"; + Schema expectedSchema = Util.getSchemaFromString(expectedSchemaString); + assertTrue(Schema.equals(foreach.getSchema(), expectedSchema, false, true)); + + } + + /* + * A test UDF that does not data processing but implements the getOutputSchema for + * checking the type checker + */ + public static class TestBinCondFieldSchema extends EvalFunc<DataBag> { + //no-op exec method + public DataBag exec(Tuple input) { + return null; + } + + @Override + public Schema outputSchema(Schema input) { + Schema.FieldSchema charFs = new FieldSchema(null, DataType.CHARARRAY); + Schema.FieldSchema intFs = new FieldSchema(null, DataType.INTEGER); + Schema.FieldSchema floatFs = new FieldSchema(null, DataType.FLOAT); + Schema bagSchema = new Schema(); + bagSchema.add(charFs); + bagSchema.add(intFs); + bagSchema.add(floatFs); + Schema.FieldSchema bagFs; + try { + bagFs = new Schema.FieldSchema(null, bagSchema, DataType.BAG); + } catch (FrontendException fee) { + return null; + } + return new Schema(bagFs); + } + } + ////////////////////////// Helper ////////////////////////////////// private void checkForEachCasting(LOForEach foreach, int idx, boolean isCast, byte toType) { LogicalPlan plan = foreach.getForEachPlans().get(idx) ; Modified: hadoop/pig/branches/multiquery/test/org/apache/pig/test/TestTypeCheckingValidatorNoSchema.java URL: http://svn.apache.org/viewvc/hadoop/pig/branches/multiquery/test/org/apache/pig/test/TestTypeCheckingValidatorNoSchema.java?rev=758107&r1=758106&r2=758107&view=diff ============================================================================== --- hadoop/pig/branches/multiquery/test/org/apache/pig/test/TestTypeCheckingValidatorNoSchema.java (original) +++ hadoop/pig/branches/multiquery/test/org/apache/pig/test/TestTypeCheckingValidatorNoSchema.java Wed Mar 25 00:42:40 2009 @@ -147,7 +147,7 @@ project11.setSentinel(true); LOProject project12 = new LOProject(innerPlan1, genNewOperatorKey(), load1, 1) ; project11.setSentinel(true); - LONotEqual notequal1 = new LONotEqual(innerPlan1, genNewOperatorKey(), project11, project12) ; + LONotEqual notequal1 = new LONotEqual(innerPlan1, genNewOperatorKey()) ; innerPlan1.add(project11) ; innerPlan1.add(project12) ; @@ -163,9 +163,7 @@ LOConst const21 = new LOConst(innerPlan2, genNewOperatorKey(), 26) ; const21.setType(DataType.LONG); LOLesserThanEqual lesser21 = new LOLesserThanEqual(innerPlan2, - genNewOperatorKey(), - project21, - const21) ; + genNewOperatorKey()) ; innerPlan2.add(project21) ; innerPlan2.add(const21) ; @@ -246,7 +244,7 @@ project11.setSentinel(true); LOProject project12 = new LOProject(innerPlan1, genNewOperatorKey(), load1, 1) ; project11.setSentinel(true); - LONotEqual notequal1 = new LONotEqual(innerPlan1, genNewOperatorKey(), project11, project12) ; + LONotEqual notequal1 = new LONotEqual(innerPlan1, genNewOperatorKey()) ; innerPlan1.add(project11) ; innerPlan1.add(project12) ; @@ -261,10 +259,10 @@ project21.setSentinel(true); LOConst const21 = new LOConst(innerPlan2, genNewOperatorKey(), 26) ; const21.setType(DataType.LONG); - LOAdd add21 = new LOAdd(innerPlan2, genNewOperatorKey(), project21, const21) ; + LOAdd add21 = new LOAdd(innerPlan2, genNewOperatorKey()) ; LOConst const22 = new LOConst(innerPlan2, genNewOperatorKey(), "hoho") ; const22.setType(DataType.CHARARRAY); - LOSubtract subtract21 = new LOSubtract(innerPlan2, genNewOperatorKey(), const22, add21) ; + LOSubtract subtract21 = new LOSubtract(innerPlan2, genNewOperatorKey()) ; innerPlan2.add(project21) ; innerPlan2.add(const21) ; @@ -376,7 +374,7 @@ project11.setSentinel(true); LOProject project12 = new LOProject(innerPlan1, genNewOperatorKey(), load1, 1) ; project11.setSentinel(true); - LOMultiply mul1 = new LOMultiply(innerPlan1, genNewOperatorKey(), project11, project12) ; + LOMultiply mul1 = new LOMultiply(innerPlan1, genNewOperatorKey()) ; innerPlan1.add(project11) ; innerPlan1.add(project12) ; @@ -391,7 +389,7 @@ project21.setSentinel(true); LOConst const21 = new LOConst(innerPlan2, genNewOperatorKey(), 26) ; const21.setType(DataType.LONG); - LOMod mod21 = new LOMod(innerPlan2, genNewOperatorKey(), project21, const21) ; + LOMod mod21 = new LOMod(innerPlan2, genNewOperatorKey()) ; innerPlan2.add(project21) ; innerPlan2.add(const21) ; @@ -456,14 +454,12 @@ project1.setSentinel(true); LOProject project2 = new LOProject(innerPlan, genNewOperatorKey(), load1, 1) ; project2.setSentinel(true); - LOAdd add1 = new LOAdd(innerPlan, genNewOperatorKey(), project1, project2) ; + LOAdd add1 = new LOAdd(innerPlan, genNewOperatorKey()) ; LOConst const1 = new LOConst(innerPlan, genNewOperatorKey(), 10) ; const1.setType(DataType.LONG); LOGreaterThan gt1 = new LOGreaterThan(innerPlan, - genNewOperatorKey(), - add1, - const1) ; + genNewOperatorKey()) ; innerPlan.add(project1) ; innerPlan.add(project2) ; @@ -522,14 +518,12 @@ project1.setSentinel(true); LOProject project2 = new LOProject(innerPlan, genNewOperatorKey(), load1, 1) ; project2.setSentinel(true); - LOAdd add1 = new LOAdd(innerPlan, genNewOperatorKey(), project1, project2) ; + LOAdd add1 = new LOAdd(innerPlan, genNewOperatorKey()) ; LOConst const1 = new LOConst(innerPlan, genNewOperatorKey(), "10") ; const1.setType(DataType.CHARARRAY); LOGreaterThan gt1 = new LOGreaterThan(innerPlan, - genNewOperatorKey(), - add1, - const1) ; + genNewOperatorKey()) ; innerPlan.add(project1) ; innerPlan.add(project2) ; @@ -684,9 +678,7 @@ LOConst const111 = new LOConst(innerPlan11, genNewOperatorKey(), 26F) ; const111.setType(DataType.FLOAT); LOSubtract subtract111 = new LOSubtract(innerPlan11, - genNewOperatorKey(), - project111, - const111) ; + genNewOperatorKey()) ; innerPlan11.add(project111) ; innerPlan11.add(const111) ; @@ -702,9 +694,7 @@ LOConst const121 = new LOConst(innerPlan12, genNewOperatorKey(), 26) ; const121.setType(DataType.INTEGER); LOSubtract subtract121 = new LOSubtract(innerPlan12, - genNewOperatorKey(), - project121, - const121) ; + genNewOperatorKey()) ; innerPlan12.add(project121) ; innerPlan12.add(const121) ; @@ -790,9 +780,7 @@ LOConst const111 = new LOConst(innerPlan11, genNewOperatorKey(), 26F) ; const111.setType(DataType.FLOAT); LOSubtract subtract111 = new LOSubtract(innerPlan11, - genNewOperatorKey(), - project111, - const111) ; + genNewOperatorKey()) ; innerPlan11.add(project111) ; innerPlan11.add(const111) ; @@ -809,9 +797,7 @@ project212.setSentinel(true); LOAdd add211 = new LOAdd(innerPlan21, - genNewOperatorKey(), - project211, - project212) ; + genNewOperatorKey()) ; innerPlan21.add(project211) ; innerPlan21.add(project212) ; @@ -828,9 +814,7 @@ LOConst const121 = new LOConst(innerPlan12, genNewOperatorKey(), 26) ; const121.setType(DataType.INTEGER); LOSubtract subtract121 = new LOSubtract(innerPlan12, - genNewOperatorKey(), - project121, - const121) ; + genNewOperatorKey()) ; innerPlan12.add(project121) ; innerPlan12.add(const121) ; @@ -928,9 +912,7 @@ LOConst const11 = new LOConst(innerPlan1, genNewOperatorKey(), 26F) ; const11.setType(DataType.FLOAT); LOSubtract subtract11 = new LOSubtract(innerPlan1, - genNewOperatorKey(), - project11, - const11) ; + genNewOperatorKey()) ; innerPlan1.add(project11) ; innerPlan1.add(const11) ; @@ -941,14 +923,12 @@ // Create expression inner plan #2 LogicalPlan innerPlan2 = new LogicalPlan() ; - LOProject project21 = new LOProject(innerPlan1, genNewOperatorKey(), load1, 0) ; + LOProject project21 = new LOProject(innerPlan2, genNewOperatorKey(), load1, 0) ; project21.setSentinel(true); - LOProject project22 = new LOProject(innerPlan1, genNewOperatorKey(), load1, 1) ; + LOProject project22 = new LOProject(innerPlan2, genNewOperatorKey(), load1, 1) ; project21.setSentinel(true); - LOAdd add21 = new LOAdd(innerPlan1, - genNewOperatorKey(), - project21, - project22) ; + LOAdd add21 = new LOAdd(innerPlan2, + genNewOperatorKey()) ; innerPlan2.add(project21) ; innerPlan2.add(project22) ; Modified: hadoop/pig/branches/multiquery/test/org/apache/pig/test/TestUnion.java URL: http://svn.apache.org/viewvc/hadoop/pig/branches/multiquery/test/org/apache/pig/test/TestUnion.java?rev=758107&r1=758106&r2=758107&view=diff ============================================================================== --- hadoop/pig/branches/multiquery/test/org/apache/pig/test/TestUnion.java (original) +++ hadoop/pig/branches/multiquery/test/org/apache/pig/test/TestUnion.java Wed Mar 25 00:42:40 2009 @@ -216,4 +216,38 @@ assertFalse(it.hasNext()); } + // Test schema merge in union when one of the fields is a bag + @Test + public void testSchemaMergeWithBag() throws Exception { + Util.createInputFile(cluster, "input1.txt", new String[] {"dummy"}); + Util.createInputFile(cluster, "input2.txt", new String[] {"dummy"}); + PigServer pig = new PigServer(ExecType.MAPREDUCE, cluster.getProperties()); + Util.registerQuery(pig, "a = load 'input1.txt' ;" + + "b = load 'input2.txt';" + + "c = foreach a generate 1, {(1, 'str1')};" + + "d = foreach b generate 2, {(2, 'str2')};" + + "e = union c,d"); + Iterator<Tuple> it = pig.openIterator("e"); + Object[] expected = new Object[] { Util.getPigConstant("(1, {(1, 'str1')})"), + Util.getPigConstant("(2, {(2, 'str2')})")}; + Object[] results = new Object[2]; + int i = 0; + while(it.hasNext()) { + if(i == 2) { + fail("Got more tuples than expected!"); + } + Tuple t = it.next(); + if(t.get(0).equals(1)) { + // this is the first tuple + results[0] = t; + } else { + results[1] = t; + } + i++; + } + for (int j = 0; j < expected.length; j++) { + assertTrue(expected[j].equals(results[j])); + } + } + } Modified: hadoop/pig/branches/multiquery/test/org/apache/pig/test/Util.java URL: http://svn.apache.org/viewvc/hadoop/pig/branches/multiquery/test/org/apache/pig/test/Util.java?rev=758107&r1=758106&r2=758107&view=diff ============================================================================== --- hadoop/pig/branches/multiquery/test/org/apache/pig/test/Util.java (original) +++ hadoop/pig/branches/multiquery/test/org/apache/pig/test/Util.java Wed Mar 25 00:42:40 2009 @@ -32,6 +32,7 @@ import org.apache.hadoop.fs.FSDataOutputStream; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; +import org.apache.pig.PigServer; import org.apache.pig.backend.executionengine.ExecException; import org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MRCompiler; import org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.MROperPlan; @@ -310,6 +311,12 @@ Schema.setSchemaDefaultType(schema, defaultType); return schema; } + + static Object getPigConstant(String pigConstantAsString) throws ParseException { + ByteArrayInputStream stream = new ByteArrayInputStream(pigConstantAsString.getBytes()) ; + QueryParser queryParser = new QueryParser(stream) ; + return queryParser.Datum(); + } public static File createFile(String[] data) throws Exception{ File f = File.createTempFile("tmp", ""); @@ -333,4 +340,11 @@ comp.compile(); return comp.getMRPlan(); } + + public static void registerQuery(PigServer pigServer, String query) throws IOException { + String[] queryLines = query.split(";"); + for (String line : queryLines) { + pigServer.registerQuery(line + ";"); + } + } } Modified: hadoop/pig/branches/multiquery/test/org/apache/pig/test/data/GoldenFiles/MRC15.gld URL: http://svn.apache.org/viewvc/hadoop/pig/branches/multiquery/test/org/apache/pig/test/data/GoldenFiles/MRC15.gld?rev=758107&r1=758106&r2=758107&view=diff ============================================================================== --- hadoop/pig/branches/multiquery/test/org/apache/pig/test/data/GoldenFiles/MRC15.gld (original) +++ hadoop/pig/branches/multiquery/test/org/apache/pig/test/data/GoldenFiles/MRC15.gld Wed Mar 25 00:42:40 2009 @@ -1,4 +1,4 @@ -MapReduce(1,GFCross) - -156: +MapReduce(1,GFCross) - -153: | Store(DummyFil:DummyLdr) - --5683415113785058706 | | | |---New For Each(false)[tuple] - --8002381389674382470 @@ -10,10 +10,10 @@ | |---Package[tuple]{Unknown} - --885269774183211482 | Local Rearrange[tuple]{Unknown}(false) - --776319888013965510 | | -| |---Load(/tmp/temp-1456742965/tmp-586682361:org.apache.pig.builtin.BinStorage) - -155 +| |---Load(/tmp/temp-1456742965/tmp-586682361:org.apache.pig.builtin.BinStorage) - -152 | -|---MapReduce(1,AVG) - -153: - | Store(/tmp/temp-1456742965/tmp-586682361:org.apache.pig.builtin.BinStorage) - -154 +|---MapReduce(1,AVG) - -150: + | Store(/tmp/temp-1456742965/tmp-586682361:org.apache.pig.builtin.BinStorage) - -151 | | | |---New For Each(false)[tuple] - -7965768498188214494 | | | @@ -24,14 +24,14 @@ | |---Package[tuple]{Unknown} - --7335024873119453444 | Local Rearrange[tuple]{Unknown}(false) - -4589138876054328603 | | - | |---Load(/tmp/temp-1456742965/tmp-26634357:org.apache.pig.builtin.BinStorage) - -152 + | |---Load(/tmp/temp-1456742965/tmp-26634357:org.apache.pig.builtin.BinStorage) - -149 | - |---MapReduce(20,TestMRCompiler$WeirdComparator,FindQuantiles,SUM) - -145: - | Store(/tmp/temp-1456742965/tmp-26634357:org.apache.pig.builtin.BinStorage) - -151 + |---MapReduce(20,TestMRCompiler$WeirdComparator,COUNT,SUM) - -142: + | Store(/tmp/temp-1456742965/tmp-26634357:org.apache.pig.builtin.BinStorage) - -148 | | | |---New For Each(false,false)[tuple] - --4248200967728536480 | | | - | | POUserFunc(org.apache.pig.impl.builtin.FindQuantiles)[tuple] - -8767305735755351861 + | | POUserFunc(org.apache.pig.builtin.COUNT)[tuple] - -8767305735755351861 | | | | | |---Project[tuple][*] - --5908426805312852480 | | | @@ -39,37 +39,31 @@ | | | | | |---Project[tuple][*] - --1848504978980807369 | | - | |---New For Each(true)[tuple] - -150 + | |---New For Each(true)[tuple] - -147 | | | - | | Project[bag][1] - -149 + | | Project[bag][1] - -146 | | - | |---Package[tuple]{tuple} - -148 - | Local Rearrange[tuple]{tuple}(false) - -147 + | |---Package[tuple]{tuple} - -145 + | Local Rearrange[tuple]{tuple}(false) - -144 | | | - | | Project[tuple][*] - -146 + | | Project[tuple][*] - -143 | | - | |---Load(/tmp/temp-1456742965/tmp-1456742965:org.apache.pig.builtin.BinStorage) - -144 + | |---Load(/tmp/temp-1456742965/tmp-1456742965:org.apache.pig.builtin.BinStorage) - -141 | - |---MapReduce(1,FindQuantiles,TestMRCompiler$WeirdComparator) - -130: - | Store(/tmp/temp-1456742965/tmp2077335416:org.apache.pig.builtin.BinStorage) - -143 + |---MapReduce(1,TestMRCompiler$WeirdComparator) - -130: + | Store(/tmp/temp-1456742965/tmp2077335416:org.apache.pig.builtin.BinStorage) - -140 | | - | |---New For Each(false)[tuple] - -142 + | |---New For Each(false,false)[tuple] - -139 | | | - | | POUserFunc(org.apache.pig.impl.builtin.FindQuantiles)[tuple] - -141 + | | Constant(20) - -138 | | | - | | |---Project[tuple][*] - -140 + | | POSort[bag](org.apache.pig.test.TestMRCompiler$WeirdComparator) - --8479692259657755370 + | | | | + | | | Project[tuple][*] - -137 + | | | + | | |---Project[tuple][1] - -136 | | - | |---New For Each(false,false)[tuple] - -139 - | | | - | | Constant(20) - -138 - | | | - | | POSort[bag](org.apache.pig.test.TestMRCompiler$WeirdComparator) - --8479692259657755370 - | | | | - | | | Project[tuple][*] - -137 - | | | - | | |---Project[tuple][1] - -136 - | | - | |---Package[tuple]{chararray} - -135 + | |---Package[tuple]{chararray} - -135 | Local Rearrange[tuple]{chararray}(false) - -134 | | | | | Constant(all) - -133 Modified: hadoop/pig/branches/multiquery/test/org/apache/pig/test/data/GoldenFiles/MRC16.gld URL: http://svn.apache.org/viewvc/hadoop/pig/branches/multiquery/test/org/apache/pig/test/data/GoldenFiles/MRC16.gld?rev=758107&r1=758106&r2=758107&view=diff ============================================================================== --- hadoop/pig/branches/multiquery/test/org/apache/pig/test/data/GoldenFiles/MRC16.gld (original) +++ hadoop/pig/branches/multiquery/test/org/apache/pig/test/data/GoldenFiles/MRC16.gld Wed Mar 25 00:42:40 2009 @@ -1,36 +1,36 @@ -MapReduce(-1) - -170: +MapReduce(-1) - -167: | Store(DummyFil:DummyLdr) - -7973970339130605847 | | -| |---New For Each(true)[bag] - -173 +| |---New For Each(true)[bag] - -170 | | | -| | Project[tuple][0] - -172 +| | Project[tuple][0] - -169 | | -| |---Package[tuple]{tuple} - -171 -| Local Rearrange[tuple]{tuple}(true) - -167 +| |---Package[tuple]{tuple} - -168 +| Local Rearrange[tuple]{tuple}(true) - -164 | | | -| | Project[tuple][*] - -166 +| | Project[tuple][*] - -163 | | -| |---Load(/tmp/temp-1456742965/tmp2077335416:org.apache.pig.builtin.BinStorage) - -169 +| |---Load(/tmp/temp-1456742965/tmp2077335416:org.apache.pig.builtin.BinStorage) - -166 | -|---MapReduce(-1) - -165: - | Store(/tmp/temp-1456742965/tmp2077335416:org.apache.pig.builtin.BinStorage) - -168 +|---MapReduce(-1) - -162: + | Store(/tmp/temp-1456742965/tmp2077335416:org.apache.pig.builtin.BinStorage) - -165 | | | |---Package[tuple]{Unknown} - -2082992246427879202 | Local Rearrange[tuple]{Unknown}(false) - --3148893660811981376 | | - | |---Load(/tmp/temp-1456742965/tmp-1456742965:org.apache.pig.builtin.BinStorage) - -164 + | |---Load(/tmp/temp-1456742965/tmp-1456742965:org.apache.pig.builtin.BinStorage) - -161 | - |---MapReduce(-1) - -157: - | Store(/tmp/temp-1456742965/tmp-1456742965:org.apache.pig.builtin.BinStorage) - -163 + |---MapReduce(-1) - -154: + | Store(/tmp/temp-1456742965/tmp-1456742965:org.apache.pig.builtin.BinStorage) - -160 | | - | |---New For Each(true)[bag] - -162 + | |---New For Each(true)[bag] - -159 | | | - | | Project[tuple][0] - -161 + | | Project[tuple][0] - -158 | | - | |---Package[tuple]{tuple} - -160 - | Local Rearrange[tuple]{tuple}(true) - -159 + | |---Package[tuple]{tuple} - -157 + | Local Rearrange[tuple]{tuple}(true) - -156 | | | - | | Project[tuple][*] - -158 + | | Project[tuple][*] - -155 | | | |---Filter[tuple] - --7926255547935388282 | | Modified: hadoop/pig/branches/multiquery/test/org/apache/pig/test/data/GoldenFiles/MRC17.gld URL: http://svn.apache.org/viewvc/hadoop/pig/branches/multiquery/test/org/apache/pig/test/data/GoldenFiles/MRC17.gld?rev=758107&r1=758106&r2=758107&view=diff ============================================================================== --- hadoop/pig/branches/multiquery/test/org/apache/pig/test/data/GoldenFiles/MRC17.gld (original) +++ hadoop/pig/branches/multiquery/test/org/apache/pig/test/data/GoldenFiles/MRC17.gld Wed Mar 25 00:42:40 2009 @@ -1,17 +1,17 @@ -MapReduce(1) - -174: +MapReduce(1) - -171: | Store(DummyFil:DummyLdr) - -7856319821130535798 | | -| |---Limit - -180 +| |---Limit - -177 | | -| |---New For Each(true)[bag] - -179 +| |---New For Each(true)[bag] - -176 | | | -| | Project[tuple][1] - -178 +| | Project[tuple][1] - -175 | | -| |---Package[tuple]{tuple} - -177 -| Local Rearrange[tuple]{tuple}(false) - -176 +| |---Package[tuple]{tuple} - -174 +| Local Rearrange[tuple]{tuple}(false) - -173 | | | -| | Project[tuple][*] - -175 +| | Project[tuple][*] - -172 | | | |---Limit - -7398260302074824818 | | -| |---Load(DummyFil:DummyLdr) - -4188863770717253580 +| |---Load(DummyFil:DummyLdr) - -4188863770717253580 \ No newline at end of file Modified: hadoop/pig/branches/multiquery/test/org/apache/pig/test/utils/GenPhyOp.java URL: http://svn.apache.org/viewvc/hadoop/pig/branches/multiquery/test/org/apache/pig/test/utils/GenPhyOp.java?rev=758107&r1=758106&r2=758107&view=diff ============================================================================== --- hadoop/pig/branches/multiquery/test/org/apache/pig/test/utils/GenPhyOp.java (original) +++ hadoop/pig/branches/multiquery/test/org/apache/pig/test/utils/GenPhyOp.java Wed Mar 25 00:42:40 2009 @@ -30,7 +30,6 @@ import org.apache.pig.data.DataType; import org.apache.pig.data.Tuple; import org.apache.pig.impl.PigContext; -import org.apache.pig.impl.builtin.FindQuantiles; import org.apache.pig.impl.io.FileLocalizer; import org.apache.pig.impl.io.FileSpec; import org.apache.pig.impl.plan.OperatorKey;