You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@carbondata.apache.org by ra...@apache.org on 2016/08/01 10:05:10 UTC

[12/47] incubator-carbondata git commit: [CARBONDATA-97] Decimal Precision and scale is not getting applied based on schema metadata. (#843)

[CARBONDATA-97] Decimal Precision and scale is not getting applied based on schema metadata. (#843)



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

Branch: refs/heads/master
Commit: fb8d80704068899c3da104c76f5e0a007e7c2305
Parents: c3197a8
Author: sujith71955 <su...@gmail.com>
Authored: Sat Jul 23 14:01:29 2016 +0530
Committer: Venkata Ramana G <g....@gmail.com>
Committed: Sat Jul 23 14:01:29 2016 +0530

----------------------------------------------------------------------
 .../apache/spark/sql/CarbonDatasourceRelation.scala   | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-carbondata/blob/fb8d8070/integration/spark/src/main/scala/org/apache/spark/sql/CarbonDatasourceRelation.scala
----------------------------------------------------------------------
diff --git a/integration/spark/src/main/scala/org/apache/spark/sql/CarbonDatasourceRelation.scala b/integration/spark/src/main/scala/org/apache/spark/sql/CarbonDatasourceRelation.scala
index 3035a47..ed4e6cb 100644
--- a/integration/spark/src/main/scala/org/apache/spark/sql/CarbonDatasourceRelation.scala
+++ b/integration/spark/src/main/scala/org/apache/spark/sql/CarbonDatasourceRelation.scala
@@ -203,14 +203,22 @@ case class CarbonRelation(
       cubeMeta.carbonTable.getDimensionByTableName(cubeMeta.carbonTableIdentifier.getTableName)
         .asScala.asJava)
     sett.asScala.toSeq.filter(!_.getColumnSchema.isInvisible).map(dim => {
-      val output: DataType = metaData.carbonTable
-        .getDimensionByName(metaData.carbonTable.getFactTableName, dim.getColName).getDataType
+      val dimval = metaData.carbonTable
+        .getDimensionByName(metaData.carbonTable.getFactTableName, dim.getColName)
+      val output: DataType = dimval.getDataType
         .toString.toLowerCase match {
         case "array" => CarbonMetastoreTypes
           .toDataType(s"array<${ getArrayChildren(dim.getColName) }>")
         case "struct" => CarbonMetastoreTypes
           .toDataType(s"struct<${ getStructChildren(dim.getColName) }>")
-        case dType => CarbonMetastoreTypes.toDataType(dType)
+        case dType =>
+          var dataType = dType
+          if (dimval.getDataType == org.carbondata.core.carbon.metadata.datatype.DataType.DECIMAL) {
+            dataType +=
+              "(" + dimval.getColumnSchema.getPrecision + "," + dimval.getColumnSchema
+                .getScale + ")"
+          }
+          CarbonMetastoreTypes.toDataType(dataType)
       }
 
       AttributeReference(