Github user cloud-fan commented on a diff in the pull request:

    https://github.com/apache/spark/pull/22732#discussion_r226143221
  
    --- Diff: sql/core/src/test/scala/org/apache/spark/sql/UDFSuite.scala ---
    @@ -393,4 +393,30 @@ class UDFSuite extends QueryTest with SharedSQLContext 
{
           checkAnswer(df, Seq(Row("12"), Row("24"), Row("3null"), Row(null)))
         }
       }
    +
    +  test("SPARK-25044 Verify null input handling for primitive types - with 
udf()") {
    +    val udf1 = udf({(x: Long, y: Any) => x * 2 + (if (y == null) 1 else 
0)})
    +    val df = spark.range(0, 3).toDF("a")
    +      .withColumn("b", udf1($"a", lit(null)))
    +      .withColumn("c", udf1(lit(null), $"a"))
    +
    +    checkAnswer(
    +      df,
    +      Seq(
    +        Row(0, 1, null),
    +        Row(1, 3, null),
    +        Row(2, 5, null)))
    +  }
    +
    +  test("SPARK-25044 Verify null input handling for primitive types - with 
udf.register") {
    +    withTable("t") {
    --- End diff --
    
    we can use temp view
    ```
    withTempView("v") {
      Seq((null, 1, "x"), ("N", null, "y"), ("N", 3, null)).toDF("a", "b", 
"c").createTempView("v")
      ...
    }
    ```


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org

Reply via email to