You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pig.apache.org by da...@apache.org on 2010/12/20 19:40:34 UTC
svn commit: r1051238 - in /pig/branches/branch-0.8: CHANGES.txt
src/org/apache/pig/newplan/logical/relational/LogicalSchema.java
test/org/apache/pig/test/TestEvalPipeline2.java
Author: daijy
Date: Mon Dec 20 18:40:34 2010
New Revision: 1051238
URL: http://svn.apache.org/viewvc?rev=1051238&view=rev
Log:
PIG-1771: New logical plan: Merge schema fail if LoadFunc.getSchema return different schema with "Load...AS"
Modified:
pig/branches/branch-0.8/CHANGES.txt
pig/branches/branch-0.8/src/org/apache/pig/newplan/logical/relational/LogicalSchema.java
pig/branches/branch-0.8/test/org/apache/pig/test/TestEvalPipeline2.java
Modified: pig/branches/branch-0.8/CHANGES.txt
URL: http://svn.apache.org/viewvc/pig/branches/branch-0.8/CHANGES.txt?rev=1051238&r1=1051237&r2=1051238&view=diff
==============================================================================
--- pig/branches/branch-0.8/CHANGES.txt (original)
+++ pig/branches/branch-0.8/CHANGES.txt Mon Dec 20 18:40:34 2010
@@ -211,6 +211,8 @@ PIG-1309: Map-side Cogroup (ashutoshc)
BUG FIXES
+PIG-1771: New logical plan: Merge schema fail if LoadFunc.getSchema return different schema with "Load...AS" (daijy)
+
PIG-1766: New logical plan: ImplicitSplitInserter should before DuplicateForEachColumnRewrite (daijy)
PIG-1762: Logical simplification fails on map key referenced values (yanz)
Modified: pig/branches/branch-0.8/src/org/apache/pig/newplan/logical/relational/LogicalSchema.java
URL: http://svn.apache.org/viewvc/pig/branches/branch-0.8/src/org/apache/pig/newplan/logical/relational/LogicalSchema.java?rev=1051238&r1=1051237&r2=1051238&view=diff
==============================================================================
--- pig/branches/branch-0.8/src/org/apache/pig/newplan/logical/relational/LogicalSchema.java (original)
+++ pig/branches/branch-0.8/src/org/apache/pig/newplan/logical/relational/LogicalSchema.java Mon Dec 20 18:40:34 2010
@@ -333,9 +333,6 @@ public class LogicalSchema {
if (DataType.isSchemaType(mergedType)) {
mergedSubSchema = merge(fs1.schema, fs2.schema);
- if (mergedSubSchema==null) {
- throw new FrontendException("Error merging schema " + fs1 + " and " + fs2, 2246);
- }
}
LogicalFieldSchema mergedFS = new LogicalFieldSchema(mergedAlias, mergedSubSchema, mergedType);
mergedSchema.addField(mergedFS);
Modified: pig/branches/branch-0.8/test/org/apache/pig/test/TestEvalPipeline2.java
URL: http://svn.apache.org/viewvc/pig/branches/branch-0.8/test/org/apache/pig/test/TestEvalPipeline2.java?rev=1051238&r1=1051237&r2=1051238&view=diff
==============================================================================
--- pig/branches/branch-0.8/test/org/apache/pig/test/TestEvalPipeline2.java (original)
+++ pig/branches/branch-0.8/test/org/apache/pig/test/TestEvalPipeline2.java Mon Dec 20 18:40:34 2010
@@ -996,4 +996,23 @@ public class TestEvalPipeline2 extends T
assertTrue(t.get(0).equals("one"));
assertTrue(t.get(1).equals("two"));
}
+
+ // See PIG-1771
+ @Test
+ public void testLoadWithDifferentSchema() throws Exception{
+ String[] input1 = {
+ "hello\thello\t(hello)\t[key#value]",
+ };
+
+ Util.createInputFile(cluster, "table_testLoadWithDifferentSchema1", input1);
+ pigServer.registerQuery("a = load 'table_testLoadWithDifferentSchema1' as (a0:chararray, a1:chararray, a2, a3:map[]);");
+ pigServer.store("a", "table_testLoadWithDifferentSchema1.bin", "org.apache.pig.builtin.BinStorage");
+
+ pigServer.registerQuery("b = load 'table_testLoadWithDifferentSchema1.bin' USING BinStorage('Utf8StorageConverter') AS (b0:chararray, b1:chararray, b2:tuple(), b3:map[]);");
+ Iterator<Tuple> iter = pigServer.openIterator("b");
+
+ Tuple t = iter.next();
+ assertTrue(t.size()==4);
+ assertTrue(t.toString().equals("(hello,hello,(hello),[key#value])"));
+ }
}