This is an automated email from the ASF dual-hosted git repository.

jiayu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-sedona.git


The following commit(s) were added to refs/heads/master by this push:
     new f28ce295 [SEDONA-127] Follow up on previous commit adding null safety 
to ST_Ge… (#651)
f28ce295 is described below

commit f28ce2954cba032ecf703df9bc695804dc1efd38
Author: Martin Andersson <[email protected]>
AuthorDate: Wed Jul 13 20:12:21 2022 +0200

    [SEDONA-127] Follow up on previous commit adding null safety to ST_Ge… 
(#651)
---
 .../spark/sql/sedona_sql/expressions/Constructors.scala      |  6 +++---
 .../scala/org/apache/sedona/sql/constructorTestScala.scala   | 12 ++++++++++++
 2 files changed, 15 insertions(+), 3 deletions(-)

diff --git 
a/sql/src/main/scala/org/apache/spark/sql/sedona_sql/expressions/Constructors.scala
 
b/sql/src/main/scala/org/apache/spark/sql/sedona_sql/expressions/Constructors.scala
index af5eae44..5149f5f7 100644
--- 
a/sql/src/main/scala/org/apache/spark/sql/sedona_sql/expressions/Constructors.scala
+++ 
b/sql/src/main/scala/org/apache/spark/sql/sedona_sql/expressions/Constructors.scala
@@ -181,7 +181,7 @@ case class ST_GeomFromWKT(inputExpressions: Seq[Expression])
         var formatMapper = new FormatMapper(fileDataSplitter, false)
         formatMapper.readGeometry(geomString.toString).toGenericArrayData
       }
-      case _ => null
+      case null => null
     }
   }
 
@@ -214,7 +214,7 @@ case class ST_GeomFromText(inputExpressions: 
Seq[Expression])
         var formatMapper = new FormatMapper(fileDataSplitter, false)
         formatMapper.readGeometry(geomString.toString).toGenericArrayData
       }
-      case _ => null
+      case null => null
     }
   }
 
@@ -252,7 +252,7 @@ case class ST_GeomFromWKB(inputExpressions: Seq[Expression])
         // convert raw wkb byte array to geometry
         new WKBReader().read(wkb).toGenericArrayData
       }
-      case _ => null
+      case null => null
     }
   }
 
diff --git 
a/sql/src/test/scala/org/apache/sedona/sql/constructorTestScala.scala 
b/sql/src/test/scala/org/apache/sedona/sql/constructorTestScala.scala
index 69e4e8d6..c1fc58aa 100644
--- a/sql/src/test/scala/org/apache/sedona/sql/constructorTestScala.scala
+++ b/sql/src/test/scala/org/apache/sedona/sql/constructorTestScala.scala
@@ -69,6 +69,10 @@ class constructorTestScala extends TestBaseScala {
       assert(polygonDf.count() == 100)
       val nullGeom = sparkSession.sql("select ST_GeomFromWKT(null)")
       assert(nullGeom.first().isNullAt(0))
+      // Fail on wrong input type
+      intercept[Exception] {
+        sparkSession.sql("SELECT ST_GeomFromWKT(0)").collect()
+      }
     }
 
     it("Passed ST_LineFromText") {
@@ -102,6 +106,10 @@ class constructorTestScala extends TestBaseScala {
       assert(polygonDf.count() == 100)
       val nullGeom = sparkSession.sql("select ST_GeomFromText(null)")
       assert(nullGeom.first().isNullAt(0))
+      // Fail on wrong input type
+      intercept[Exception] {
+        sparkSession.sql("SELECT ST_GeomFromText(0)").collect()
+      }
     }
 
     it("Passed ST_GeomFromWKT multipolygon read as polygon bug") {
@@ -133,6 +141,10 @@ class constructorTestScala extends TestBaseScala {
       // null input
       val nullGeom = sparkSession.sql("SELECT ST_GeomFromWKB(null)")
       assert(nullGeom.first().isNullAt(0))
+      // Fail on wrong input type
+      intercept[Exception] {
+        sparkSession.sql("SELECT ST_GeomFromWKB(0)").collect()
+      }
     }
 
     it("Passed ST_GeomFromGeoJSON") {

Reply via email to