From c9e3e074ffe6aff78602ae81d9b895df1f193b7a Mon Sep 17 00:00:00 2001 From: Dongjoon Hyun Date: Thu, 11 Mar 2021 23:48:04 -0800 Subject: [PATCH] [SPARK-34724][SQL] Fix Interpreted evaluation by using getClass.getMethod instead of getDeclaredMethod --- .../spark/sql/catalyst/expressions/objects/objects.scala | 2 +- .../spark/sql/catalyst/encoders/ExpressionEncoderSuite.scala | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/objects/objects.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/objects/objects.scala index 48d1fdbcdd07d..8ff11935eec07 100644 --- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/objects/objects.scala +++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/objects/objects.scala @@ -333,7 +333,7 @@ case class Invoke( val invokeMethod = if (method.isDefined) { method.get } else { - obj.getClass.getDeclaredMethod(functionName, argClasses: _*) + obj.getClass.getMethod(functionName, argClasses: _*) } invoke(obj, invokeMethod, arguments, input, dataType) } diff --git a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/encoders/ExpressionEncoderSuite.scala b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/encoders/ExpressionEncoderSuite.scala index 6c2da4d3e3906..1a70e06a656b8 100644 --- a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/encoders/ExpressionEncoderSuite.scala +++ b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/encoders/ExpressionEncoderSuite.scala @@ -161,10 +161,10 @@ class ExpressionEncoderSuite extends CodegenInterpretedPlanTest with AnalysisTes encodeDecodeTest(Seq(Seq("abc", "xyz"), Seq[String](null), null, Seq("1", null, "2")), "seq of seq of string") - encodeDecodeTest(Array(31, -123, 4), "array of int", useFallback = true) + encodeDecodeTest(Array(31, -123, 4), "array of int") encodeDecodeTest(Array("abc", "xyz"), "array of string") encodeDecodeTest(Array("a", null, "x"), "array of string with null") - encodeDecodeTest(Array.empty[Int], "empty array of int", useFallback = true) + encodeDecodeTest(Array.empty[Int], "empty array of int") encodeDecodeTest(Array.empty[String], "empty array of string") encodeDecodeTest(Array(Array(31, -123), null, Array(4, 67)), "array of array of int",