You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@carbondata.apache.org by ja...@apache.org on 2017/06/27 14:08:15 UTC

[09/12] carbondata git commit: fixed codec for UpscaleFloatingCodec

fixed codec for UpscaleFloatingCodec


Project: http://git-wip-us.apache.org/repos/asf/carbondata/repo
Commit: http://git-wip-us.apache.org/repos/asf/carbondata/commit/1d8254b8
Tree: http://git-wip-us.apache.org/repos/asf/carbondata/tree/1d8254b8
Diff: http://git-wip-us.apache.org/repos/asf/carbondata/diff/1d8254b8

Branch: refs/heads/encoding_override
Commit: 1d8254b85c7a0613e2fc2698d2a642fc52b6335e
Parents: 3dec25b
Author: kunal642 <ku...@knoldus.in>
Authored: Sat Jun 17 13:37:08 2017 +0530
Committer: jackylk <ja...@huawei.com>
Committed: Mon Jun 26 21:08:53 2017 +0800

----------------------------------------------------------------------
 .../datastore/page/encoding/UpscaleFloatingCodec.java    |  2 +-
 .../datastore/page/statistics/ColumnPageStatsVO.java     |  2 +-
 .../spark-common-test/src/test/resources/double.csv      |  3 +++
 .../TestLoadDataWithHiveSyntaxDefaultFormat.scala        | 11 +++++++++++
 4 files changed, 16 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/carbondata/blob/1d8254b8/core/src/main/java/org/apache/carbondata/core/datastore/page/encoding/UpscaleFloatingCodec.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/carbondata/core/datastore/page/encoding/UpscaleFloatingCodec.java b/core/src/main/java/org/apache/carbondata/core/datastore/page/encoding/UpscaleFloatingCodec.java
index 19c6bd7..56c4508 100644
--- a/core/src/main/java/org/apache/carbondata/core/datastore/page/encoding/UpscaleFloatingCodec.java
+++ b/core/src/main/java/org/apache/carbondata/core/datastore/page/encoding/UpscaleFloatingCodec.java
@@ -137,7 +137,7 @@ public class UpscaleFloatingCodec extends AdaptiveCompressionCodec {
           encodedPage.putLong(rowId, (long)(Math.round(factor * value)));
           break;
         case DOUBLE:
-          encodedPage.putDouble(rowId, (Math.round(factor * value)));
+          encodedPage.putDouble(rowId, value);
           break;
         default:
           throw new RuntimeException("internal error: " + debugInfo());

http://git-wip-us.apache.org/repos/asf/carbondata/blob/1d8254b8/core/src/main/java/org/apache/carbondata/core/datastore/page/statistics/ColumnPageStatsVO.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/carbondata/core/datastore/page/statistics/ColumnPageStatsVO.java b/core/src/main/java/org/apache/carbondata/core/datastore/page/statistics/ColumnPageStatsVO.java
index 642e6b2..058699a 100644
--- a/core/src/main/java/org/apache/carbondata/core/datastore/page/statistics/ColumnPageStatsVO.java
+++ b/core/src/main/java/org/apache/carbondata/core/datastore/page/statistics/ColumnPageStatsVO.java
@@ -96,7 +96,7 @@ public class ColumnPageStatsVO {
       case DOUBLE:
         max = ((double) max > (double) value) ? max : value;
         min = ((double) min < (double) value) ? min : value;
-        int num = getDecimalCount((double) value);
+        int num = Math.abs(getDecimalCount((double) value));
         decimal = decimal > num ? decimal : num;
         nonExistValue = (double) min - 1;
         break;

http://git-wip-us.apache.org/repos/asf/carbondata/blob/1d8254b8/integration/spark-common-test/src/test/resources/double.csv
----------------------------------------------------------------------
diff --git a/integration/spark-common-test/src/test/resources/double.csv b/integration/spark-common-test/src/test/resources/double.csv
new file mode 100644
index 0000000..267392e
--- /dev/null
+++ b/integration/spark-common-test/src/test/resources/double.csv
@@ -0,0 +1,3 @@
+empno, salary
+'abc', 775678765456789098765432.789
+'def', 876567898743456785232.44431

http://git-wip-us.apache.org/repos/asf/carbondata/blob/1d8254b8/integration/spark-common-test/src/test/scala/org/apache/carbondata/spark/testsuite/dataload/TestLoadDataWithHiveSyntaxDefaultFormat.scala
----------------------------------------------------------------------
diff --git a/integration/spark-common-test/src/test/scala/org/apache/carbondata/spark/testsuite/dataload/TestLoadDataWithHiveSyntaxDefaultFormat.scala b/integration/spark-common-test/src/test/scala/org/apache/carbondata/spark/testsuite/dataload/TestLoadDataWithHiveSyntaxDefaultFormat.scala
index f8e11de..b8713e5 100644
--- a/integration/spark-common-test/src/test/scala/org/apache/carbondata/spark/testsuite/dataload/TestLoadDataWithHiveSyntaxDefaultFormat.scala
+++ b/integration/spark-common-test/src/test/scala/org/apache/carbondata/spark/testsuite/dataload/TestLoadDataWithHiveSyntaxDefaultFormat.scala
@@ -670,6 +670,17 @@ class TestLoadDataWithHiveSyntaxDefaultFormat extends QueryTest with BeforeAndAf
       Row("~carbon,")))
   }
 
+  test("test data load with double datatype") {
+    sql("drop table if exists double_test")
+    sql(
+      "CREATE table double_test (empno string, salary double) STORED BY 'carbondata' TBLPROPERTIES" +
+      "('DICTIONARY_EXCLUDE'='empno')"
+    )
+    sql(
+      s"load data local inpath '$resourcesPath/double.csv' into table double_test options" +
+      "('FILEHEADER'='empno,salary')")
+    checkAnswer(sql("select salary from double_test limit 1"),Row(7.756787654567891E23))
+  }
 
   override def afterAll {
     sql("drop table if exists escapechar1")