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/11/13 22:21:39 UTC

svn commit: r1639525 - in /pig/trunk: CHANGES.txt src/org/apache/pig/builtin/JsonLoader.java src/org/apache/pig/builtin/JsonStorage.java test/org/apache/pig/test/TestJsonLoaderStorage.java

Author: daijy
Date: Thu Nov 13 21:21:38 2014
New Revision: 1639525

URL: http://svn.apache.org/r1639525
Log:
PIG-3615: Update the way that JsonLoader/JsonStorage deal with BigDecimal

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

Modified: pig/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/pig/trunk/CHANGES.txt?rev=1639525&r1=1639524&r2=1639525&view=diff
==============================================================================
--- pig/trunk/CHANGES.txt (original)
+++ pig/trunk/CHANGES.txt Thu Nov 13 21:21:38 2014
@@ -26,6 +26,8 @@ IMPROVEMENTS
  
 BUG FIXES
 
+PIG-3615: Update the way that JsonLoader/JsonStorage deal with BigDecimal (tyro89 via daijy)
+
 PIG-4329: Fetch optimization should be disabled when limit is not pushed up (lbendig via cheolsoo)
 
 PIG-3413: JsonLoader fails the pig job in case of malformed json input (eyal via daijy)

Modified: pig/trunk/src/org/apache/pig/builtin/JsonLoader.java
URL: http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/builtin/JsonLoader.java?rev=1639525&r1=1639524&r2=1639525&view=diff
==============================================================================
--- pig/trunk/src/org/apache/pig/builtin/JsonLoader.java (original)
+++ pig/trunk/src/org/apache/pig/builtin/JsonLoader.java Thu Nov 13 21:21:38 2014
@@ -19,6 +19,7 @@ package org.apache.pig.builtin;
 
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -247,7 +248,7 @@ public class JsonLoader extends LoadFunc
         case DataType.BIGDECIMAL:
             tok = p.nextToken();
             if (tok == JsonToken.VALUE_NULL) return null;
-            return p.getDecimalValue();
+            return new BigDecimal(p.getText());
 
         case DataType.MAP:
             // Should be a start of the map object

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=1639525&r1=1639524&r2=1639525&view=diff
==============================================================================
--- pig/trunk/src/org/apache/pig/builtin/JsonStorage.java (original)
+++ pig/trunk/src/org/apache/pig/builtin/JsonStorage.java Thu Nov 13 21:21:38 2014
@@ -219,7 +219,7 @@ public class JsonStorage extends StoreFu
             return;
 
         case DataType.BIGDECIMAL:
-            json.writeNumberField(field.getName(), (BigDecimal)d);
+            json.writeStringField(field.getName(), d.toString());
             return;
 
         case DataType.MAP:

Modified: pig/trunk/test/org/apache/pig/test/TestJsonLoaderStorage.java
URL: http://svn.apache.org/viewvc/pig/trunk/test/org/apache/pig/test/TestJsonLoaderStorage.java?rev=1639525&r1=1639524&r2=1639525&view=diff
==============================================================================
--- pig/trunk/test/org/apache/pig/test/TestJsonLoaderStorage.java (original)
+++ pig/trunk/test/org/apache/pig/test/TestJsonLoaderStorage.java Thu Nov 13 21:21:38 2014
@@ -89,7 +89,7 @@ public class TestJsonLoaderStorage {
     "\"g\":\"abc\"," +
     "\"h\":\"def\"," +
     "\"i\":123456789," +
-    "\"j\":1234.6789," +
+    "\"j\":\"1234.6789\"," +
     "\"k\":{\"a\":\"ghi\"}," +
     "\"l\":{\"a\":123}," +
     "\"m\":[{\"a\":123},{\"a\":456},{\"a\":789}]" +