You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by dm...@apache.org on 2016/06/06 07:36:37 UTC

[04/13] ignite git commit: IGNITE-3175 BigDecimal fields are not supported if query is executed from IgniteRDD: fix java.sql.Date mapping

IGNITE-3175 BigDecimal fields are not supported if query is executed from IgniteRDD: fix java.sql.Date mapping


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/2485d86f
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/2485d86f
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/2485d86f

Branch: refs/heads/master
Commit: 2485d86f63bb2149e8881d3f48c13fb7784c29b0
Parents: 7fc1a7f
Author: tledkov-gridgain <tl...@gridgain.com>
Authored: Thu Jun 2 16:56:20 2016 +0300
Committer: Valentin Kulichenko <va...@gmail.com>
Committed: Fri Jun 3 20:12:44 2016 +0300

----------------------------------------------------------------------
 .../src/main/scala/org/apache/ignite/spark/IgniteRDD.scala  | 3 ++-
 .../ignite/spark/JavaStandaloneIgniteRDDSelfTest.java       | 9 ++++++++-
 .../org/apache/ignite/spark/EntityTestAllTypeFields.scala   | 7 +++++--
 3 files changed, 15 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/2485d86f/modules/spark/src/main/scala/org/apache/ignite/spark/IgniteRDD.scala
----------------------------------------------------------------------
diff --git a/modules/spark/src/main/scala/org/apache/ignite/spark/IgniteRDD.scala b/modules/spark/src/main/scala/org/apache/ignite/spark/IgniteRDD.scala
index 9ef9846..fa96212 100644
--- a/modules/spark/src/main/scala/org/apache/ignite/spark/IgniteRDD.scala
+++ b/modules/spark/src/main/scala/org/apache/ignite/spark/IgniteRDD.scala
@@ -315,9 +315,10 @@ class IgniteRDD[K, V] (
         case "java.lang.Long" \u21d2 LongType
         case "java.lang.Float" \u21d2 FloatType
         case "java.lang.Double" \u21d2 DoubleType
-        case "java.math.BigDecimal" \u21d2 DecimalType.SYSTEM_DEFAULT
+        case "java.math.BigDecimal" \u21d2 DataTypes.createDecimalType()
         case "java.lang.String" \u21d2 StringType
         case "java.util.Date" \u21d2 DateType
+        case "java.sql.Date" \u21d2 DateType
         case "java.sql.Timestamp" \u21d2 TimestampType
         case "[B" \u21d2 BinaryType
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/2485d86f/modules/spark/src/test/java/org/apache/ignite/spark/JavaStandaloneIgniteRDDSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/spark/src/test/java/org/apache/ignite/spark/JavaStandaloneIgniteRDDSelfTest.java b/modules/spark/src/test/java/org/apache/ignite/spark/JavaStandaloneIgniteRDDSelfTest.java
index e600c6c..343158b 100644
--- a/modules/spark/src/test/java/org/apache/ignite/spark/JavaStandaloneIgniteRDDSelfTest.java
+++ b/modules/spark/src/test/java/org/apache/ignite/spark/JavaStandaloneIgniteRDDSelfTest.java
@@ -39,6 +39,7 @@ import org.apache.spark.sql.DataFrame;
 import org.apache.spark.sql.Row;
 import scala.Tuple2;
 
+import java.io.Serializable;
 import java.lang.reflect.Field;
 import java.math.BigDecimal;
 import java.util.List;
@@ -279,10 +280,16 @@ public class JavaStandaloneIgniteRDDSelfTest extends GridCommonAbstractTest {
                     assertTrue(String.format("+++ Fail on %s field", fieldName),
                         ((Comparable<BigDecimal>)val).compareTo((BigDecimal)res) == 0);
                 }
+                else if (val instanceof java.sql.Date)
+                    assertEquals(String.format("+++ Fail on %s field", fieldName),
+                        val.toString(), df.collect()[0].get(0).toString());
                 else if (val.getClass().isArray())
                     assertTrue(String.format("+++ Fail on %s field", fieldName), 1 <= df.count());
-                else
+                else {
+                    assertTrue(String.format("+++ Fail on %s field", fieldName), df.collect().length > 0);
+                    assertTrue(String.format("+++ Fail on %s field", fieldName), df.collect()[0].size() > 0);
                     assertEquals(String.format("+++ Fail on %s field", fieldName), val, df.collect()[0].get(0));
+                }
 
                 info(String.format("+++ Query on the filed: %s : %s passed", fieldName, f.getType().getSimpleName()));
             }

http://git-wip-us.apache.org/repos/asf/ignite/blob/2485d86f/modules/spark/src/test/scala/org/apache/ignite/spark/EntityTestAllTypeFields.scala
----------------------------------------------------------------------
diff --git a/modules/spark/src/test/scala/org/apache/ignite/spark/EntityTestAllTypeFields.scala b/modules/spark/src/test/scala/org/apache/ignite/spark/EntityTestAllTypeFields.scala
index a936091..36d8274 100644
--- a/modules/spark/src/test/scala/org/apache/ignite/spark/EntityTestAllTypeFields.scala
+++ b/modules/spark/src/test/scala/org/apache/ignite/spark/EntityTestAllTypeFields.scala
@@ -35,7 +35,9 @@ class EntityTestAllTypeFields(
     @ScalarCacheQuerySqlField(index = true) val dateVal: Date,
     @ScalarCacheQuerySqlField(index = true) val timestampVal: Timestamp,
     @ScalarCacheQuerySqlField(index = true) val byteArrVal: Array[Byte],
-    @ScalarCacheQuerySqlField(index = true) val bigDecVal: java.math.BigDecimal
+    @ScalarCacheQuerySqlField(index = true) val bigDecVal: java.math.BigDecimal,
+    @ScalarCacheQuerySqlField(index = true) val javaSqlDate: java.sql.Date
+
 ) extends Serializable {
     def this(
         i: Int
@@ -52,6 +54,7 @@ class EntityTestAllTypeFields(
             new Date(i),
             new Timestamp(i),
             Array(i.toByte, i.toByte),
-            new java.math.BigDecimal(i.toString))
+            new java.math.BigDecimal(i.toString),
+            new java.sql.Date(i))
     }
 }