Github user ueshin commented on a diff in the pull request:

    https://github.com/apache/spark/pull/21069#discussion_r185722053
  
    --- Diff: 
sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/expressions/CollectionExpressionsSuite.scala
 ---
    @@ -280,4 +280,35 @@ class CollectionExpressionsSuite extends SparkFunSuite 
with ExpressionEvalHelper
     
         checkEvaluation(Concat(Seq(aa0, aa1)), Seq(Seq("a", "b"), Seq("c"), 
Seq("d"), Seq("e", "f")))
       }
    +
    +  test("Array remove") {
    +    val a0 = Literal.create(Seq(1, 2, 3, 2, 2, 5), ArrayType(IntegerType))
    +    val a1 = Literal.create(Seq("b", "a", "a", "c", "b"), 
ArrayType(StringType))
    +    val a2 = Literal.create(Seq[String](null, "", null, ""), 
ArrayType(StringType))
    +    val a3 = Literal.create(Seq.empty[Integer], ArrayType(IntegerType))
    +    val a4 = Literal.create(null, ArrayType(StringType))
    +    val a5 = Literal.create(Seq(1, null, 8, 9, null), 
ArrayType(IntegerType))
    +    val a6 = Literal.create(Seq(true, false, false, true), 
ArrayType(BooleanType))
    +
    +    checkEvaluation(ArrayRemove(a0, Literal(0)), Seq(1, 2, 3, 2, 2, 5))
    +    checkEvaluation(ArrayRemove(a0, Literal(1)), Seq(2, 3, 2, 2, 5))
    +    checkEvaluation(ArrayRemove(a0, Literal(2)), Seq(1, 3, 5))
    +    checkEvaluation(ArrayRemove(a0, Literal(3)), Seq(1, 2, 2, 2, 5))
    +    checkEvaluation(ArrayRemove(a0, Literal(5)), Seq(1, 2, 3, 2, 2))
    +
    +    checkEvaluation(ArrayRemove(a1, Literal("")), Seq("b", "a", "a", "c", 
"b"))
    +    checkEvaluation(ArrayRemove(a1, Literal("a")), Seq("b", "c", "b"))
    +    checkEvaluation(ArrayRemove(a1, Literal("b")), Seq("a", "a", "c"))
    +    checkEvaluation(ArrayRemove(a1, Literal("c")), Seq("b", "a", "a", "b"))
    +
    +    checkEvaluation(ArrayRemove(a2, Literal("")), Seq(null, null))
    +    checkEvaluation(ArrayRemove(a2, Literal.create(null, StringType)), 
null)
    +
    +    checkEvaluation(ArrayRemove(a3, Literal(1)), Seq.empty[Integer])
    +
    +    checkEvaluation(ArrayRemove(a4, Literal("a")), null)
    +
    +    checkEvaluation(ArrayRemove(a5, Literal(9)), Seq(1, null, 8, null))
    +    checkEvaluation(ArrayRemove(a6, Literal(false)), Seq(true, true))
    --- End diff --
    
    Can you add a case for something like `ArrayRemove(a0, Literal(null, 
IntegerType))`?


---

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

Reply via email to