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 2014/04/25 22:39:25 UTC
svn commit: r1590134 - in /pig/trunk: CHANGES.txt
src/org/apache/pig/newplan/logical/expression/ProjectExpression.java
test/org/apache/pig/test/TestEvalPipelineLocal.java
Author: daijy
Date: Fri Apr 25 20:39:25 2014
New Revision: 1590134
URL: http://svn.apache.org/r1590134
Log:
PIG-3909: Type Casting issue
Modified:
pig/trunk/CHANGES.txt
pig/trunk/src/org/apache/pig/newplan/logical/expression/ProjectExpression.java
pig/trunk/test/org/apache/pig/test/TestEvalPipelineLocal.java
Modified: pig/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/pig/trunk/CHANGES.txt?rev=1590134&r1=1590133&r2=1590134&view=diff
==============================================================================
--- pig/trunk/CHANGES.txt (original)
+++ pig/trunk/CHANGES.txt Fri Apr 25 20:39:25 2014
@@ -115,6 +115,8 @@ PIG-3882: Multiquery off mode execution
BUG FIXES
+PIG-3909: Type Casting issue (daijy)
+
PIG-3905: 0.12.1 release can't be build for Hadoop2 (daijy)
PIG-3894: Datetime function AddDuration, SubtractDuration and all Between functions don't check for null values in the input tuple (jennythompson via cheolsoo)
Modified: pig/trunk/src/org/apache/pig/newplan/logical/expression/ProjectExpression.java
URL: http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/newplan/logical/expression/ProjectExpression.java?rev=1590134&r1=1590133&r2=1590134&view=diff
==============================================================================
--- pig/trunk/src/org/apache/pig/newplan/logical/expression/ProjectExpression.java (original)
+++ pig/trunk/src/org/apache/pig/newplan/logical/expression/ProjectExpression.java Fri Apr 25 20:39:25 2014
@@ -280,7 +280,10 @@ public class ProjectExpression extends C
return fieldSchema;
LogicalRelationalOperator referent = findReferent();
- LogicalSchema schema = referent.getSchema();
+ LogicalSchema schema = null;
+ if (referent.getSchema()!=null) {
+ schema = referent.getSchema().deepCopy();
+ }
if (attachedRelationalOp instanceof LOGenerate && plan.getSuccessors(this)==null) {
if (!(findReferent() instanceof LOInnerLoad)||
Modified: pig/trunk/test/org/apache/pig/test/TestEvalPipelineLocal.java
URL: http://svn.apache.org/viewvc/pig/trunk/test/org/apache/pig/test/TestEvalPipelineLocal.java?rev=1590134&r1=1590133&r2=1590134&view=diff
==============================================================================
--- pig/trunk/test/org/apache/pig/test/TestEvalPipelineLocal.java (original)
+++ pig/trunk/test/org/apache/pig/test/TestEvalPipelineLocal.java Fri Apr 25 20:39:25 2014
@@ -1216,4 +1216,19 @@ public class TestEvalPipelineLocal {
Schema s = pigServer.dumpSchema("final");
Assert.assertEquals(s.toString(), "{n1::x3: int}");
}
+
+ // see PIG-3909
+ @Test
+ public void testCastSchemaShare() throws Exception{
+ File f1 = createFile(new String[]{"{([fieldkey1#polisan,fieldkey2#lily])}"});
+
+ pigServer.registerQuery("A = load '" + Util.encodeEscape(Util.generateURI(f1.toString(), pigServer.getPigContext()))
+ + "' as (bagofmap:{});");
+ pigServer.registerQuery("B = foreach A generate FLATTEN((IsEmpty(bagofmap) ? null : bagofmap)) AS bagofmap;");
+ pigServer.registerQuery("C = filter B by (chararray)bagofmap#'fieldkey1' matches 'po.*';");
+ pigServer.registerQuery("D = foreach C generate (chararray)bagofmap#'fieldkey2';");
+
+ Iterator<Tuple> iter = pigServer.openIterator("D");
+ Assert.assertEquals(iter.next().toString(), "(lily)");
+ }
}