From 6c900cd2e70efb8753f0d283f5ed77dd698fc81e Mon Sep 17 00:00:00 2001 From: Max Gekk Date: Wed, 27 Jul 2022 23:40:13 +0500 Subject: [PATCH] Pass messageParameters to AnalysisException --- .../catalyst/catalog/InvalidUDFClassException.scala | 11 ++++++++--- .../sql/errors/QueryCompilationErrorsSuite.scala | 5 ++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/catalog/InvalidUDFClassException.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/catalog/InvalidUDFClassException.scala index 28918d1799c3c..4d83663fd31fb 100644 --- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/catalog/InvalidUDFClassException.scala +++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/catalog/InvalidUDFClassException.scala @@ -26,9 +26,14 @@ import org.apache.spark.sql.AnalysisException */ class InvalidUDFClassException private[sql]( message: String, - errorClass: Option[String] = None) - extends AnalysisException(message = message, errorClass = errorClass) { + errorClass: Option[String] = None, + messageParameters: Array[String] = Array.empty) + extends AnalysisException( + message = message, errorClass = errorClass, messageParameters = messageParameters) { def this(errorClass: String, messageParameters: Array[String]) = - this(SparkThrowableHelper.getMessage(errorClass, null, messageParameters), Some(errorClass)) + this( + SparkThrowableHelper.getMessage(errorClass, null, messageParameters), + Some(errorClass), + messageParameters) } diff --git a/sql/core/src/test/scala/org/apache/spark/sql/errors/QueryCompilationErrorsSuite.scala b/sql/core/src/test/scala/org/apache/spark/sql/errors/QueryCompilationErrorsSuite.scala index af4a83f5e5ef4..667fc1df42c83 100644 --- a/sql/core/src/test/scala/org/apache/spark/sql/errors/QueryCompilationErrorsSuite.scala +++ b/sql/core/src/test/scala/org/apache/spark/sql/errors/QueryCompilationErrorsSuite.scala @@ -208,11 +208,10 @@ class QueryCompilationErrorsSuite val e = intercept[AnalysisException] ( sql(s"SELECT $functionName(123) as value") ) - checkErrorClass( + checkError( exception = e, errorClass = "NO_HANDLER_FOR_UDAF", - msg = "No handler for UDAF 'org.apache.spark.sql.errors.MyCastToString'. " + - "Use sparkSession.udf.register(...) instead.; line 1 pos 7") + parameters = Map("functionName" -> "org.apache.spark.sql.errors.MyCastToString")) } }