You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pig.apache.org by ch...@apache.org on 2013/08/14 04:38:36 UTC

svn commit: r1513716 - in /pig/trunk: CHANGES.txt src/org/apache/pig/builtin/JsonStorage.java

Author: cheolsoo
Date: Wed Aug 14 02:38:36 2013
New Revision: 1513716

URL: http://svn.apache.org/r1513716
Log:
PIG-3412: jsonstorage breaks when tuple does not have as many columns as schema (aesilberstein via cheolsoo)

Modified:
    pig/trunk/CHANGES.txt
    pig/trunk/src/org/apache/pig/builtin/JsonStorage.java

Modified: pig/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/pig/trunk/CHANGES.txt?rev=1513716&r1=1513715&r2=1513716&view=diff
==============================================================================
--- pig/trunk/CHANGES.txt (original)
+++ pig/trunk/CHANGES.txt Wed Aug 14 02:38:36 2013
@@ -210,6 +210,8 @@ PIG-3013: BinInterSedes improve chararra
 
 BUG FIXES
 
+PIG-3412: jsonstorage breaks when tuple does not have as many columns as schema (aesilberstein via cheolsoo)
+
 PIG-3243: Documentation error (sarutak via cheolsoo)
 
 PIG-3210: Pig fails to start when it cannot write log to log files (mengsungwu via cheolsoo)

Modified: pig/trunk/src/org/apache/pig/builtin/JsonStorage.java
URL: http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/builtin/JsonStorage.java?rev=1513716&r1=1513715&r2=1513716&view=diff
==============================================================================
--- pig/trunk/src/org/apache/pig/builtin/JsonStorage.java (original)
+++ pig/trunk/src/org/apache/pig/builtin/JsonStorage.java Wed Aug 14 02:38:36 2013
@@ -145,7 +145,13 @@ public class JsonStorage extends StoreFu
         
         ResourceFieldSchema[] fields = schema.getFields();
         for (int i = 0; i < fields.length; i++) {
-            writeField(json, fields[i], t.get(i));
+            int tupleLength = t.size();
+            //write col if exists in tuple, null otherwise
+            if (i < tupleLength) {
+                writeField(json, fields[i], t.get(i));
+            } else {
+                writeField(json, fields[i], null);
+            }
         }
         json.writeEndObject();
         json.close();
@@ -274,4 +280,4 @@ public class JsonStorage extends StoreFu
         metadataWriter.storeSchema(schema, location, job);
     }
 
-}
\ No newline at end of file
+}