From a13108793a95bfffac482a7cb9fbe6007bd3f08c Mon Sep 17 00:00:00 2001 From: yangjie01 Date: Tue, 6 Dec 2022 23:31:52 +0800 Subject: [PATCH 01/17] replace --- core/src/main/resources/error/error-classes.json | 5 ----- .../spark/sql/errors/QueryCompilationErrors.scala | 6 ++---- .../src/test/resources/sql-tests/inputs/date.sql | 2 ++ .../org/apache/spark/sql/DateFunctionsSuite.scala | 13 +++++++++++++ 4 files changed, 17 insertions(+), 9 deletions(-) diff --git a/core/src/main/resources/error/error-classes.json b/core/src/main/resources/error/error-classes.json index 19ab5ada2b5c..1b22518660f7 100644 --- a/core/src/main/resources/error/error-classes.json +++ b/core/src/main/resources/error/error-classes.json @@ -2006,11 +2006,6 @@ "Undefined function ." ] }, - "_LEGACY_ERROR_TEMP_1043" : { - "message" : [ - "Invalid arguments for function ." - ] - }, "_LEGACY_ERROR_TEMP_1045" : { "message" : [ "ALTER TABLE SET LOCATION does not support partition for v2 tables." diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/errors/QueryCompilationErrors.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/errors/QueryCompilationErrors.scala index ed08e33829ee..82ec84f04186 100644 --- a/sql/catalyst/src/main/scala/org/apache/spark/sql/errors/QueryCompilationErrors.scala +++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/errors/QueryCompilationErrors.scala @@ -649,10 +649,8 @@ private[sql] object QueryCompilationErrors extends QueryErrorsBase { def invalidFunctionArgumentNumberError( validParametersCount: Seq[Int], name: String, actualNumber: Int): Throwable = { - if (validParametersCount.length == 0) { - new AnalysisException( - errorClass = "_LEGACY_ERROR_TEMP_1043", - messageParameters = Map("name" -> name)) + if (validParametersCount.isEmpty) { + invalidFunctionArgumentsError(name, "0", actualNumber) } else { val expectedNumberOfParameters = if (validParametersCount.length == 1) { validParametersCount.head.toString diff --git a/sql/core/src/test/resources/sql-tests/inputs/date.sql b/sql/core/src/test/resources/sql-tests/inputs/date.sql index ab57c7c754c6..70211e9aee76 100644 --- a/sql/core/src/test/resources/sql-tests/inputs/date.sql +++ b/sql/core/src/test/resources/sql-tests/inputs/date.sql @@ -19,6 +19,8 @@ select date'2021-4294967297-11'; select current_date = current_date; -- under ANSI mode, `current_date` can't be a function name. select current_date() = current_date(); +select curdate(); +select curdate(1); -- conversions between date and unix_date (number of days from epoch) select DATE_FROM_UNIX_DATE(0), DATE_FROM_UNIX_DATE(1000), DATE_FROM_UNIX_DATE(null); diff --git a/sql/core/src/test/scala/org/apache/spark/sql/DateFunctionsSuite.scala b/sql/core/src/test/scala/org/apache/spark/sql/DateFunctionsSuite.scala index 0740e1b2bdbf..028ab8ea1474 100644 --- a/sql/core/src/test/scala/org/apache/spark/sql/DateFunctionsSuite.scala +++ b/sql/core/src/test/scala/org/apache/spark/sql/DateFunctionsSuite.scala @@ -49,6 +49,19 @@ class DateFunctionsSuite extends QueryTest with SharedSparkSession { sql("""SELECT CURDATE()""").collect().head.getDate(0)) val d4 = DateTimeUtils.currentDate(ZoneId.systemDefault()) assert(d0 <= d1 && d1 <= d2 && d2 <= d3 && d3 <= d4 && d4 - d0 <= 1) + + checkError( + exception = intercept[AnalysisException] { + sql("SELECT CURDATE(1)") + }, + errorClass = "WRONG_NUM_ARGS", + parameters = Map( + "functionName" -> "`curdate`", + "expectedNum" -> "0", + "actualNum" -> "1" + ), + context = ExpectedContext("", "", 7, 16, "CURDATE(1)") + ) } test("function current_timestamp and now") { From a8f82460a93ea1d2b3dedbd62da58c5bd46f3fb9 Mon Sep 17 00:00:00 2001 From: yangjie01 Date: Tue, 6 Dec 2022 23:38:00 +0800 Subject: [PATCH 02/17] upgrade golden files --- .../sql-tests/results/ansi/date.sql.out | 31 +++++++++++++++++++ .../resources/sql-tests/results/date.sql.out | 31 +++++++++++++++++++ 2 files changed, 62 insertions(+) diff --git a/sql/core/src/test/resources/sql-tests/results/ansi/date.sql.out b/sql/core/src/test/resources/sql-tests/results/ansi/date.sql.out index 9ddbaec4f998..701a5ce78a58 100644 --- a/sql/core/src/test/resources/sql-tests/results/ansi/date.sql.out +++ b/sql/core/src/test/resources/sql-tests/results/ansi/date.sql.out @@ -135,6 +135,37 @@ struct<(current_date() = current_date()):boolean> true +-- !query +select curdate() +-- !query schema +struct +-- !query output +2022-12-06 + + +-- !query +select curdate(1) +-- !query schema +struct<> +-- !query output +org.apache.spark.sql.AnalysisException +{ + "errorClass" : "WRONG_NUM_ARGS", + "messageParameters" : { + "actualNum" : "1", + "expectedNum" : "0", + "functionName" : "`curdate`" + }, + "queryContext" : [ { + "objectType" : "", + "objectName" : "", + "startIndex" : 8, + "stopIndex" : 17, + "fragment" : "curdate(1)" + } ] +} + + -- !query select DATE_FROM_UNIX_DATE(0), DATE_FROM_UNIX_DATE(1000), DATE_FROM_UNIX_DATE(null) -- !query schema diff --git a/sql/core/src/test/resources/sql-tests/results/date.sql.out b/sql/core/src/test/resources/sql-tests/results/date.sql.out index 9e427adb0529..756603eb287b 100644 --- a/sql/core/src/test/resources/sql-tests/results/date.sql.out +++ b/sql/core/src/test/resources/sql-tests/results/date.sql.out @@ -121,6 +121,37 @@ struct<(current_date() = current_date()):boolean> true +-- !query +select curdate() +-- !query schema +struct +-- !query output +2022-12-06 + + +-- !query +select curdate(1) +-- !query schema +struct<> +-- !query output +org.apache.spark.sql.AnalysisException +{ + "errorClass" : "WRONG_NUM_ARGS", + "messageParameters" : { + "actualNum" : "1", + "expectedNum" : "0", + "functionName" : "`curdate`" + }, + "queryContext" : [ { + "objectType" : "", + "objectName" : "", + "startIndex" : 8, + "stopIndex" : 17, + "fragment" : "curdate(1)" + } ] +} + + -- !query select DATE_FROM_UNIX_DATE(0), DATE_FROM_UNIX_DATE(1000), DATE_FROM_UNIX_DATE(null) -- !query schema From e8b70cd51892e4eeaf12ec6dd23e10f801b95d0b Mon Sep 17 00:00:00 2001 From: yangjie01 Date: Tue, 6 Dec 2022 23:43:43 +0800 Subject: [PATCH 03/17] change case --- sql/core/src/test/resources/sql-tests/inputs/date.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sql/core/src/test/resources/sql-tests/inputs/date.sql b/sql/core/src/test/resources/sql-tests/inputs/date.sql index 70211e9aee76..bf48b81fd003 100644 --- a/sql/core/src/test/resources/sql-tests/inputs/date.sql +++ b/sql/core/src/test/resources/sql-tests/inputs/date.sql @@ -19,7 +19,7 @@ select date'2021-4294967297-11'; select current_date = current_date; -- under ANSI mode, `current_date` can't be a function name. select current_date() = current_date(); -select curdate(); +select curdate() = curdate(); select curdate(1); -- conversions between date and unix_date (number of days from epoch) From f3534c8d5ebcb4f48452379820895d0eba0bebe9 Mon Sep 17 00:00:00 2001 From: yangjie01 Date: Tue, 6 Dec 2022 23:45:49 +0800 Subject: [PATCH 04/17] update golden files --- .../src/test/resources/sql-tests/results/ansi/date.sql.out | 6 +++--- sql/core/src/test/resources/sql-tests/results/date.sql.out | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/sql/core/src/test/resources/sql-tests/results/ansi/date.sql.out b/sql/core/src/test/resources/sql-tests/results/ansi/date.sql.out index 701a5ce78a58..663664ab3119 100644 --- a/sql/core/src/test/resources/sql-tests/results/ansi/date.sql.out +++ b/sql/core/src/test/resources/sql-tests/results/ansi/date.sql.out @@ -136,11 +136,11 @@ true -- !query -select curdate() +select curdate() = curdate() -- !query schema -struct +struct<(current_date() = current_date()):boolean> -- !query output -2022-12-06 +true -- !query diff --git a/sql/core/src/test/resources/sql-tests/results/date.sql.out b/sql/core/src/test/resources/sql-tests/results/date.sql.out index 756603eb287b..22f75eeac50e 100644 --- a/sql/core/src/test/resources/sql-tests/results/date.sql.out +++ b/sql/core/src/test/resources/sql-tests/results/date.sql.out @@ -122,11 +122,11 @@ true -- !query -select curdate() +select curdate() = curdate() -- !query schema -struct +struct<(current_date() = current_date()):boolean> -- !query output -2022-12-06 +true -- !query From 4984065e524fae689b232df72554c0342bd56cfe Mon Sep 17 00:00:00 2001 From: yangjie01 Date: Wed, 7 Dec 2022 10:30:12 +0800 Subject: [PATCH 05/17] update golden files --- .../sql-tests/results/datetime-legacy.sql.out | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/sql/core/src/test/resources/sql-tests/results/datetime-legacy.sql.out b/sql/core/src/test/resources/sql-tests/results/datetime-legacy.sql.out index 3c3a70acd1a9..7629ae9ade69 100644 --- a/sql/core/src/test/resources/sql-tests/results/datetime-legacy.sql.out +++ b/sql/core/src/test/resources/sql-tests/results/datetime-legacy.sql.out @@ -121,6 +121,37 @@ struct<(current_date() = current_date()):boolean> true +-- !query +select curdate() = curdate() +-- !query schema +struct<(current_date() = current_date()):boolean> +-- !query output +true + + +-- !query +select curdate(1) +-- !query schema +struct<> +-- !query output +org.apache.spark.sql.AnalysisException +{ + "errorClass" : "WRONG_NUM_ARGS", + "messageParameters" : { + "actualNum" : "1", + "expectedNum" : "0", + "functionName" : "`curdate`" + }, + "queryContext" : [ { + "objectType" : "", + "objectName" : "", + "startIndex" : 8, + "stopIndex" : 17, + "fragment" : "curdate(1)" + } ] +} + + -- !query select DATE_FROM_UNIX_DATE(0), DATE_FROM_UNIX_DATE(1000), DATE_FROM_UNIX_DATE(null) -- !query schema From 381b8864d269cff186dce701427c244b2ce86d1f Mon Sep 17 00:00:00 2001 From: yangjie01 Date: Wed, 7 Dec 2022 13:29:51 +0800 Subject: [PATCH 06/17] rename --- core/src/main/resources/error/error-classes.json | 5 +++++ .../spark/sql/errors/QueryCompilationErrors.scala | 4 +++- .../org/apache/spark/sql/DateFunctionsSuite.scala | 6 ++---- .../test/scala/org/apache/spark/sql/UDFSuite.scala | 14 ++++++++++---- 4 files changed, 20 insertions(+), 9 deletions(-) diff --git a/core/src/main/resources/error/error-classes.json b/core/src/main/resources/error/error-classes.json index 1b22518660f7..038c5dd95c6b 100644 --- a/core/src/main/resources/error/error-classes.json +++ b/core/src/main/resources/error/error-classes.json @@ -714,6 +714,11 @@ ], "sqlState" : "22023" }, + "INVALID_FUNCTION_ARGS" : { + "message" : [ + "Invalid arguments for function ." + ] + }, "INVALID_IDENTIFIER" : { "message" : [ "The identifier is invalid. Please, consider quoting it with back-quotes as ``." diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/errors/QueryCompilationErrors.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/errors/QueryCompilationErrors.scala index 82ec84f04186..1f0f32e086da 100644 --- a/sql/catalyst/src/main/scala/org/apache/spark/sql/errors/QueryCompilationErrors.scala +++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/errors/QueryCompilationErrors.scala @@ -650,7 +650,9 @@ private[sql] object QueryCompilationErrors extends QueryErrorsBase { def invalidFunctionArgumentNumberError( validParametersCount: Seq[Int], name: String, actualNumber: Int): Throwable = { if (validParametersCount.isEmpty) { - invalidFunctionArgumentsError(name, "0", actualNumber) + new AnalysisException( + errorClass = "INVALID_FUNCTION_ARGS", + messageParameters = Map("name" -> toSQLId(name))) } else { val expectedNumberOfParameters = if (validParametersCount.length == 1) { validParametersCount.head.toString diff --git a/sql/core/src/test/scala/org/apache/spark/sql/DateFunctionsSuite.scala b/sql/core/src/test/scala/org/apache/spark/sql/DateFunctionsSuite.scala index 028ab8ea1474..c4dec2ba01ac 100644 --- a/sql/core/src/test/scala/org/apache/spark/sql/DateFunctionsSuite.scala +++ b/sql/core/src/test/scala/org/apache/spark/sql/DateFunctionsSuite.scala @@ -54,11 +54,9 @@ class DateFunctionsSuite extends QueryTest with SharedSparkSession { exception = intercept[AnalysisException] { sql("SELECT CURDATE(1)") }, - errorClass = "WRONG_NUM_ARGS", + errorClass = "INVALID_FUNCTION_ARGS", parameters = Map( - "functionName" -> "`curdate`", - "expectedNum" -> "0", - "actualNum" -> "1" + "name" -> "`curdate`" ), context = ExpectedContext("", "", 7, 16, "CURDATE(1)") ) diff --git a/sql/core/src/test/scala/org/apache/spark/sql/UDFSuite.scala b/sql/core/src/test/scala/org/apache/spark/sql/UDFSuite.scala index d158ace7928e..f9e37bcbbd46 100644 --- a/sql/core/src/test/scala/org/apache/spark/sql/UDFSuite.scala +++ b/sql/core/src/test/scala/org/apache/spark/sql/UDFSuite.scala @@ -638,10 +638,16 @@ class UDFSuite extends QueryTest with SharedSparkSession { } test("SPARK-28521 error message for CAST(parameter types contains DataType)") { - val e = intercept[AnalysisException] { - spark.sql("SELECT CAST(1)") - } - assert(e.getMessage.contains("Invalid arguments for function cast")) + checkError( + exception = intercept[AnalysisException] { + sql("SELECT CAST(1)") + }, + errorClass = "INVALID_FUNCTION_ARGS", + parameters = Map( + "name" -> "`cast`" + ), + context = ExpectedContext("", "", 7, 13, "CAST(1)") + ) } test("only one case class parameter") { From 53abc8290471c736fc9b442dc3ebbf601724e717 Mon Sep 17 00:00:00 2001 From: yangjie01 Date: Wed, 7 Dec 2022 13:31:41 +0800 Subject: [PATCH 07/17] revert sql files --- .../test/resources/sql-tests/inputs/date.sql | 2 -- .../sql-tests/results/ansi/date.sql.out | 31 ------------------- .../resources/sql-tests/results/date.sql.out | 31 ------------------- .../sql-tests/results/datetime-legacy.sql.out | 31 ------------------- 4 files changed, 95 deletions(-) diff --git a/sql/core/src/test/resources/sql-tests/inputs/date.sql b/sql/core/src/test/resources/sql-tests/inputs/date.sql index bf48b81fd003..ab57c7c754c6 100644 --- a/sql/core/src/test/resources/sql-tests/inputs/date.sql +++ b/sql/core/src/test/resources/sql-tests/inputs/date.sql @@ -19,8 +19,6 @@ select date'2021-4294967297-11'; select current_date = current_date; -- under ANSI mode, `current_date` can't be a function name. select current_date() = current_date(); -select curdate() = curdate(); -select curdate(1); -- conversions between date and unix_date (number of days from epoch) select DATE_FROM_UNIX_DATE(0), DATE_FROM_UNIX_DATE(1000), DATE_FROM_UNIX_DATE(null); diff --git a/sql/core/src/test/resources/sql-tests/results/ansi/date.sql.out b/sql/core/src/test/resources/sql-tests/results/ansi/date.sql.out index 663664ab3119..9ddbaec4f998 100644 --- a/sql/core/src/test/resources/sql-tests/results/ansi/date.sql.out +++ b/sql/core/src/test/resources/sql-tests/results/ansi/date.sql.out @@ -135,37 +135,6 @@ struct<(current_date() = current_date()):boolean> true --- !query -select curdate() = curdate() --- !query schema -struct<(current_date() = current_date()):boolean> --- !query output -true - - --- !query -select curdate(1) --- !query schema -struct<> --- !query output -org.apache.spark.sql.AnalysisException -{ - "errorClass" : "WRONG_NUM_ARGS", - "messageParameters" : { - "actualNum" : "1", - "expectedNum" : "0", - "functionName" : "`curdate`" - }, - "queryContext" : [ { - "objectType" : "", - "objectName" : "", - "startIndex" : 8, - "stopIndex" : 17, - "fragment" : "curdate(1)" - } ] -} - - -- !query select DATE_FROM_UNIX_DATE(0), DATE_FROM_UNIX_DATE(1000), DATE_FROM_UNIX_DATE(null) -- !query schema diff --git a/sql/core/src/test/resources/sql-tests/results/date.sql.out b/sql/core/src/test/resources/sql-tests/results/date.sql.out index 22f75eeac50e..9e427adb0529 100644 --- a/sql/core/src/test/resources/sql-tests/results/date.sql.out +++ b/sql/core/src/test/resources/sql-tests/results/date.sql.out @@ -121,37 +121,6 @@ struct<(current_date() = current_date()):boolean> true --- !query -select curdate() = curdate() --- !query schema -struct<(current_date() = current_date()):boolean> --- !query output -true - - --- !query -select curdate(1) --- !query schema -struct<> --- !query output -org.apache.spark.sql.AnalysisException -{ - "errorClass" : "WRONG_NUM_ARGS", - "messageParameters" : { - "actualNum" : "1", - "expectedNum" : "0", - "functionName" : "`curdate`" - }, - "queryContext" : [ { - "objectType" : "", - "objectName" : "", - "startIndex" : 8, - "stopIndex" : 17, - "fragment" : "curdate(1)" - } ] -} - - -- !query select DATE_FROM_UNIX_DATE(0), DATE_FROM_UNIX_DATE(1000), DATE_FROM_UNIX_DATE(null) -- !query schema diff --git a/sql/core/src/test/resources/sql-tests/results/datetime-legacy.sql.out b/sql/core/src/test/resources/sql-tests/results/datetime-legacy.sql.out index 7629ae9ade69..3c3a70acd1a9 100644 --- a/sql/core/src/test/resources/sql-tests/results/datetime-legacy.sql.out +++ b/sql/core/src/test/resources/sql-tests/results/datetime-legacy.sql.out @@ -121,37 +121,6 @@ struct<(current_date() = current_date()):boolean> true --- !query -select curdate() = curdate() --- !query schema -struct<(current_date() = current_date()):boolean> --- !query output -true - - --- !query -select curdate(1) --- !query schema -struct<> --- !query output -org.apache.spark.sql.AnalysisException -{ - "errorClass" : "WRONG_NUM_ARGS", - "messageParameters" : { - "actualNum" : "1", - "expectedNum" : "0", - "functionName" : "`curdate`" - }, - "queryContext" : [ { - "objectType" : "", - "objectName" : "", - "startIndex" : 8, - "stopIndex" : 17, - "fragment" : "curdate(1)" - } ] -} - - -- !query select DATE_FROM_UNIX_DATE(0), DATE_FROM_UNIX_DATE(1000), DATE_FROM_UNIX_DATE(null) -- !query schema From fe811b89059c34abac2954e388b88c2c49041dfa Mon Sep 17 00:00:00 2001 From: yangjie01 Date: Wed, 7 Dec 2022 13:48:37 +0800 Subject: [PATCH 08/17] revert --- .../org/apache/spark/sql/DateFunctionsSuite.scala | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/sql/core/src/test/scala/org/apache/spark/sql/DateFunctionsSuite.scala b/sql/core/src/test/scala/org/apache/spark/sql/DateFunctionsSuite.scala index c4dec2ba01ac..0740e1b2bdbf 100644 --- a/sql/core/src/test/scala/org/apache/spark/sql/DateFunctionsSuite.scala +++ b/sql/core/src/test/scala/org/apache/spark/sql/DateFunctionsSuite.scala @@ -49,17 +49,6 @@ class DateFunctionsSuite extends QueryTest with SharedSparkSession { sql("""SELECT CURDATE()""").collect().head.getDate(0)) val d4 = DateTimeUtils.currentDate(ZoneId.systemDefault()) assert(d0 <= d1 && d1 <= d2 && d2 <= d3 && d3 <= d4 && d4 - d0 <= 1) - - checkError( - exception = intercept[AnalysisException] { - sql("SELECT CURDATE(1)") - }, - errorClass = "INVALID_FUNCTION_ARGS", - parameters = Map( - "name" -> "`curdate`" - ), - context = ExpectedContext("", "", 7, 16, "CURDATE(1)") - ) } test("function current_timestamp and now") { From 0cfc96890b408d40a211f5f7de8518ab9a3847b3 Mon Sep 17 00:00:00 2001 From: yangjie01 Date: Tue, 13 Dec 2022 12:12:05 +0800 Subject: [PATCH 09/17] fix --- .../src/main/resources/error/error-classes.json | 16 ++++++++++++++-- .../sql/errors/QueryCompilationErrors.scala | 6 +++--- .../results/ansi/string-functions.sql.out | 4 ++-- .../results/ceil-floor-with-scale-param.sql.out | 4 ++-- .../sql-tests/results/csv-functions.sql.out | 2 +- .../sql-tests/results/json-functions.sql.out | 8 ++++---- .../sql-tests/results/string-functions.sql.out | 4 ++-- .../sql-tests/results/timestamp-ntz.sql.out | 2 +- .../sql-tests/results/udaf/udaf.sql.out | 2 +- .../sql-tests/results/udf/udf-udaf.sql.out | 2 +- .../spark/sql/DataFrameFunctionsSuite.scala | 2 +- .../org/apache/spark/sql/SQLQuerySuite.scala | 2 +- .../apache/spark/sql/StringFunctionsSuite.scala | 2 +- .../scala/org/apache/spark/sql/UDFSuite.scala | 17 ++--------------- .../errors/QueryCompilationErrorsSuite.scala | 13 +++++++++++++ .../sql/hive/execution/HiveUDAFSuite.scala | 2 +- 16 files changed, 50 insertions(+), 38 deletions(-) diff --git a/core/src/main/resources/error/error-classes.json b/core/src/main/resources/error/error-classes.json index 038c5dd95c6b..8d5a2387ffb9 100644 --- a/core/src/main/resources/error/error-classes.json +++ b/core/src/main/resources/error/error-classes.json @@ -1531,8 +1531,20 @@ }, "WRONG_NUM_ARGS" : { "message" : [ - "The requires parameters but the actual number is ." - ] + "Invalid number of arguments for the function ." + ], + "subClass" : { + "WITHOUT_SUGGESTION" : { + "message" : [ + "" + ] + }, + "WITH_SUGGESTION" : { + "message" : [ + "The function requires parameters but the actual number is ." + ] + } + } }, "_LEGACY_ERROR_TEMP_0001" : { "message" : [ diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/errors/QueryCompilationErrors.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/errors/QueryCompilationErrors.scala index 1f0f32e086da..2fd88d509321 100644 --- a/sql/catalyst/src/main/scala/org/apache/spark/sql/errors/QueryCompilationErrors.scala +++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/errors/QueryCompilationErrors.scala @@ -640,7 +640,7 @@ private[sql] object QueryCompilationErrors extends QueryErrorsBase { def invalidFunctionArgumentsError( name: String, expectedNum: String, actualNum: Int): Throwable = { new AnalysisException( - errorClass = "WRONG_NUM_ARGS", + errorClass = "WRONG_NUM_ARGS.WITH_SUGGESTION", messageParameters = Map( "functionName" -> toSQLId(name), "expectedNum" -> expectedNum, @@ -651,8 +651,8 @@ private[sql] object QueryCompilationErrors extends QueryErrorsBase { validParametersCount: Seq[Int], name: String, actualNumber: Int): Throwable = { if (validParametersCount.isEmpty) { new AnalysisException( - errorClass = "INVALID_FUNCTION_ARGS", - messageParameters = Map("name" -> toSQLId(name))) + errorClass = "WRONG_NUM_ARGS.WITHOUT_SUGGESTION", + messageParameters = Map("functionName" -> toSQLId(name))) } else { val expectedNumberOfParameters = if (validParametersCount.length == 1) { validParametersCount.head.toString diff --git a/sql/core/src/test/resources/sql-tests/results/ansi/string-functions.sql.out b/sql/core/src/test/resources/sql-tests/results/ansi/string-functions.sql.out index 253396694a66..e95240a1de2f 100644 --- a/sql/core/src/test/resources/sql-tests/results/ansi/string-functions.sql.out +++ b/sql/core/src/test/resources/sql-tests/results/ansi/string-functions.sql.out @@ -821,7 +821,7 @@ struct<> -- !query output org.apache.spark.sql.AnalysisException { - "errorClass" : "WRONG_NUM_ARGS", + "errorClass" : "WRONG_NUM_ARGS.WITH_SUGGESTION", "messageParameters" : { "actualNum" : "0", "expectedNum" : "2", @@ -844,7 +844,7 @@ struct<> -- !query output org.apache.spark.sql.AnalysisException { - "errorClass" : "WRONG_NUM_ARGS", + "errorClass" : "WRONG_NUM_ARGS.WITH_SUGGESTION", "messageParameters" : { "actualNum" : "1", "expectedNum" : "2", diff --git a/sql/core/src/test/resources/sql-tests/results/ceil-floor-with-scale-param.sql.out b/sql/core/src/test/resources/sql-tests/results/ceil-floor-with-scale-param.sql.out index 1d8adce90c42..3c05abe6473c 100644 --- a/sql/core/src/test/resources/sql-tests/results/ceil-floor-with-scale-param.sql.out +++ b/sql/core/src/test/resources/sql-tests/results/ceil-floor-with-scale-param.sql.out @@ -140,7 +140,7 @@ struct<> -- !query output org.apache.spark.sql.AnalysisException { - "errorClass" : "WRONG_NUM_ARGS", + "errorClass" : "WRONG_NUM_ARGS.WITH_SUGGESTION", "messageParameters" : { "actualNum" : "3", "expectedNum" : "2", @@ -297,7 +297,7 @@ struct<> -- !query output org.apache.spark.sql.AnalysisException { - "errorClass" : "WRONG_NUM_ARGS", + "errorClass" : "WRONG_NUM_ARGS.WITH_SUGGESTION", "messageParameters" : { "actualNum" : "3", "expectedNum" : "2", diff --git a/sql/core/src/test/resources/sql-tests/results/csv-functions.sql.out b/sql/core/src/test/resources/sql-tests/results/csv-functions.sql.out index 58c0a7b9f3cc..ac68d7596f4b 100644 --- a/sql/core/src/test/resources/sql-tests/results/csv-functions.sql.out +++ b/sql/core/src/test/resources/sql-tests/results/csv-functions.sql.out @@ -127,7 +127,7 @@ struct<> -- !query output org.apache.spark.sql.AnalysisException { - "errorClass" : "WRONG_NUM_ARGS", + "errorClass" : "WRONG_NUM_ARGS.WITH_SUGGESTION", "messageParameters" : { "actualNum" : "0", "expectedNum" : "[2, 3]", diff --git a/sql/core/src/test/resources/sql-tests/results/json-functions.sql.out b/sql/core/src/test/resources/sql-tests/results/json-functions.sql.out index c8c8bee3925d..1fa08a078480 100644 --- a/sql/core/src/test/resources/sql-tests/results/json-functions.sql.out +++ b/sql/core/src/test/resources/sql-tests/results/json-functions.sql.out @@ -109,7 +109,7 @@ struct<> -- !query output org.apache.spark.sql.AnalysisException { - "errorClass" : "WRONG_NUM_ARGS", + "errorClass" : "WRONG_NUM_ARGS.WITH_SUGGESTION", "messageParameters" : { "actualNum" : "0", "expectedNum" : "[1, 2]", @@ -231,7 +231,7 @@ struct<> -- !query output org.apache.spark.sql.AnalysisException { - "errorClass" : "WRONG_NUM_ARGS", + "errorClass" : "WRONG_NUM_ARGS.WITH_SUGGESTION", "messageParameters" : { "actualNum" : "0", "expectedNum" : "[2, 3]", @@ -572,7 +572,7 @@ struct<> -- !query output org.apache.spark.sql.AnalysisException { - "errorClass" : "WRONG_NUM_ARGS", + "errorClass" : "WRONG_NUM_ARGS.WITH_SUGGESTION", "messageParameters" : { "actualNum" : "0", "expectedNum" : "1", @@ -659,7 +659,7 @@ struct<> -- !query output org.apache.spark.sql.AnalysisException { - "errorClass" : "WRONG_NUM_ARGS", + "errorClass" : "WRONG_NUM_ARGS.WITH_SUGGESTION", "messageParameters" : { "actualNum" : "0", "expectedNum" : "1", diff --git a/sql/core/src/test/resources/sql-tests/results/string-functions.sql.out b/sql/core/src/test/resources/sql-tests/results/string-functions.sql.out index 68e980e7672e..3a0f2df7073f 100644 --- a/sql/core/src/test/resources/sql-tests/results/string-functions.sql.out +++ b/sql/core/src/test/resources/sql-tests/results/string-functions.sql.out @@ -753,7 +753,7 @@ struct<> -- !query output org.apache.spark.sql.AnalysisException { - "errorClass" : "WRONG_NUM_ARGS", + "errorClass" : "WRONG_NUM_ARGS.WITH_SUGGESTION", "messageParameters" : { "actualNum" : "0", "expectedNum" : "2", @@ -776,7 +776,7 @@ struct<> -- !query output org.apache.spark.sql.AnalysisException { - "errorClass" : "WRONG_NUM_ARGS", + "errorClass" : "WRONG_NUM_ARGS.WITH_SUGGESTION", "messageParameters" : { "actualNum" : "1", "expectedNum" : "2", diff --git a/sql/core/src/test/resources/sql-tests/results/timestamp-ntz.sql.out b/sql/core/src/test/resources/sql-tests/results/timestamp-ntz.sql.out index ef47da8c8c7c..a965c3929758 100644 --- a/sql/core/src/test/resources/sql-tests/results/timestamp-ntz.sql.out +++ b/sql/core/src/test/resources/sql-tests/results/timestamp-ntz.sql.out @@ -46,7 +46,7 @@ struct<> -- !query output org.apache.spark.sql.AnalysisException { - "errorClass" : "WRONG_NUM_ARGS", + "errorClass" : "WRONG_NUM_ARGS.WITH_SUGGESTION", "messageParameters" : { "actualNum" : "7", "expectedNum" : "6", diff --git a/sql/core/src/test/resources/sql-tests/results/udaf/udaf.sql.out b/sql/core/src/test/resources/sql-tests/results/udaf/udaf.sql.out index c8c5bd286d62..65acfae3e5dc 100644 --- a/sql/core/src/test/resources/sql-tests/results/udaf/udaf.sql.out +++ b/sql/core/src/test/resources/sql-tests/results/udaf/udaf.sql.out @@ -32,7 +32,7 @@ struct<> -- !query output org.apache.spark.sql.AnalysisException { - "errorClass" : "WRONG_NUM_ARGS", + "errorClass" : "WRONG_NUM_ARGS.WITH_SUGGESTION", "messageParameters" : { "actualNum" : "2", "expectedNum" : "1", diff --git a/sql/core/src/test/resources/sql-tests/results/udf/udf-udaf.sql.out b/sql/core/src/test/resources/sql-tests/results/udf/udf-udaf.sql.out index 58389f26ea3c..b358ec371c13 100644 --- a/sql/core/src/test/resources/sql-tests/results/udf/udf-udaf.sql.out +++ b/sql/core/src/test/resources/sql-tests/results/udf/udf-udaf.sql.out @@ -32,7 +32,7 @@ struct<> -- !query output org.apache.spark.sql.AnalysisException { - "errorClass" : "WRONG_NUM_ARGS", + "errorClass" : "WRONG_NUM_ARGS.WITH_SUGGESTION", "messageParameters" : { "actualNum" : "2", "expectedNum" : "1", diff --git a/sql/core/src/test/scala/org/apache/spark/sql/DataFrameFunctionsSuite.scala b/sql/core/src/test/scala/org/apache/spark/sql/DataFrameFunctionsSuite.scala index 2b747735f189..9a7d78b1b203 100644 --- a/sql/core/src/test/scala/org/apache/spark/sql/DataFrameFunctionsSuite.scala +++ b/sql/core/src/test/scala/org/apache/spark/sql/DataFrameFunctionsSuite.scala @@ -4881,7 +4881,7 @@ class DataFrameFunctionsSuite extends QueryTest with SharedSparkSession { exception = intercept[AnalysisException] { df.selectExpr("zip_with(a1, a2, (acc, x) -> x, (acc, x) -> x)") }, - errorClass = "WRONG_NUM_ARGS", + errorClass = "WRONG_NUM_ARGS.WITH_SUGGESTION", parameters = Map( "functionName" -> toSQLId("zip_with"), "expectedNum" -> "3", diff --git a/sql/core/src/test/scala/org/apache/spark/sql/SQLQuerySuite.scala b/sql/core/src/test/scala/org/apache/spark/sql/SQLQuerySuite.scala index d1e6a5df161b..5d3585d13e25 100644 --- a/sql/core/src/test/scala/org/apache/spark/sql/SQLQuerySuite.scala +++ b/sql/core/src/test/scala/org/apache/spark/sql/SQLQuerySuite.scala @@ -2634,7 +2634,7 @@ class SQLQuerySuite extends QueryTest with SharedSparkSession with AdaptiveSpark exception = intercept[AnalysisException] { sql("SELECT nvl(1, 2, 3)") }, - errorClass = "WRONG_NUM_ARGS", + errorClass = "WRONG_NUM_ARGS.WITH_SUGGESTION", parameters = Map( "functionName" -> toSQLId("nvl"), "expectedNum" -> "2", diff --git a/sql/core/src/test/scala/org/apache/spark/sql/StringFunctionsSuite.scala b/sql/core/src/test/scala/org/apache/spark/sql/StringFunctionsSuite.scala index 2372fe6f78db..eed094afc501 100644 --- a/sql/core/src/test/scala/org/apache/spark/sql/StringFunctionsSuite.scala +++ b/sql/core/src/test/scala/org/apache/spark/sql/StringFunctionsSuite.scala @@ -579,7 +579,7 @@ class StringFunctionsSuite extends QueryTest with SharedSparkSession { exception = intercept[AnalysisException] { df.selectExpr("sentences()") }, - errorClass = "WRONG_NUM_ARGS", + errorClass = "WRONG_NUM_ARGS.WITH_SUGGESTION", parameters = Map( "functionName" -> toSQLId("sentences"), "expectedNum" -> "[1, 2, 3]", diff --git a/sql/core/src/test/scala/org/apache/spark/sql/UDFSuite.scala b/sql/core/src/test/scala/org/apache/spark/sql/UDFSuite.scala index f9e37bcbbd46..e08e7cb789a6 100644 --- a/sql/core/src/test/scala/org/apache/spark/sql/UDFSuite.scala +++ b/sql/core/src/test/scala/org/apache/spark/sql/UDFSuite.scala @@ -105,7 +105,7 @@ class UDFSuite extends QueryTest with SharedSparkSession { exception = intercept[AnalysisException] { df.selectExpr("substr('abcd', 2, 3, 4)") }, - errorClass = "WRONG_NUM_ARGS", + errorClass = "WRONG_NUM_ARGS.WITH_SUGGESTION", parameters = Map( "functionName" -> toSQLId("substr"), "expectedNum" -> "[2, 3]", @@ -125,7 +125,7 @@ class UDFSuite extends QueryTest with SharedSparkSession { spark.udf.register("foo", (_: String).length) df.selectExpr("foo(2, 3, 4)") }, - errorClass = "WRONG_NUM_ARGS", + errorClass = "WRONG_NUM_ARGS.WITH_SUGGESTION", parameters = Map( "functionName" -> toSQLId("foo"), "expectedNum" -> "1", @@ -637,19 +637,6 @@ class UDFSuite extends QueryTest with SharedSparkSession { assert(spark.range(2).select(nonDeterministicJavaUDF()).distinct().count() == 2) } - test("SPARK-28521 error message for CAST(parameter types contains DataType)") { - checkError( - exception = intercept[AnalysisException] { - sql("SELECT CAST(1)") - }, - errorClass = "INVALID_FUNCTION_ARGS", - parameters = Map( - "name" -> "`cast`" - ), - context = ExpectedContext("", "", 7, 13, "CAST(1)") - ) - } - test("only one case class parameter") { val f = (d: TestData) => d.key * d.value.toInt val myUdf = udf(f) 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 bed647ef49fc..7b6eb383c8aa 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 @@ -667,6 +667,19 @@ class QueryCompilationErrorsSuite errorClass = "DATATYPE_MISMATCH.INVALID_JSON_SCHEMA", parameters = Map("schema" -> "\"INT\"", "sqlExpr" -> "\"from_json(a)\"")) } + + test("WRONG_NUM_ARGS.WITHOUT_SUGGESTION: wrong args of CAST(parameter types contains DataType)") { + checkError( + exception = intercept[AnalysisException] { + sql("SELECT CAST(1)") + }, + errorClass = "WRONG_NUM_ARGS.WITHOUT_SUGGESTION", + parameters = Map( + "name" -> "`cast`" + ), + context = ExpectedContext("", "", 7, 13, "CAST(1)") + ) + } } class MyCastToString extends SparkUserDefinedFunction( diff --git a/sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/HiveUDAFSuite.scala b/sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/HiveUDAFSuite.scala index d5de8a014327..2a96534e7b26 100644 --- a/sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/HiveUDAFSuite.scala +++ b/sql/hive/src/test/scala/org/apache/spark/sql/hive/execution/HiveUDAFSuite.scala @@ -175,7 +175,7 @@ class HiveUDAFSuite extends QueryTest exception = intercept[AnalysisException] { sql(s"SELECT $functionName(100)") }, - errorClass = "WRONG_NUM_ARGS", + errorClass = "WRONG_NUM_ARGS.WITH_SUGGESTION", parameters = Map( "functionName" -> toSQLId("longProductSum"), "expectedNum" -> "2", From 4a19124ddf1437136b327eec9d184b43223e0d58 Mon Sep 17 00:00:00 2001 From: yangjie01 Date: Tue, 13 Dec 2022 12:14:19 +0800 Subject: [PATCH 10/17] remove INVALID_FUNCTION_ARGS --- core/src/main/resources/error/error-classes.json | 5 ----- 1 file changed, 5 deletions(-) diff --git a/core/src/main/resources/error/error-classes.json b/core/src/main/resources/error/error-classes.json index 8d5a2387ffb9..5229e2629690 100644 --- a/core/src/main/resources/error/error-classes.json +++ b/core/src/main/resources/error/error-classes.json @@ -714,11 +714,6 @@ ], "sqlState" : "22023" }, - "INVALID_FUNCTION_ARGS" : { - "message" : [ - "Invalid arguments for function ." - ] - }, "INVALID_IDENTIFIER" : { "message" : [ "The identifier is invalid. Please, consider quoting it with back-quotes as ``." From fbc78098258a8fe55451caedc5c9fca8670f8fff Mon Sep 17 00:00:00 2001 From: yangjie01 Date: Tue, 13 Dec 2022 12:33:58 +0800 Subject: [PATCH 11/17] update golden files --- .../sql-tests/results/sql-compatibility-functions.sql.out | 2 +- .../resources/sql-tests/results/table-valued-functions.sql.out | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sql/core/src/test/resources/sql-tests/results/sql-compatibility-functions.sql.out b/sql/core/src/test/resources/sql-tests/results/sql-compatibility-functions.sql.out index 319ac059385c..f4d32e1746f2 100644 --- a/sql/core/src/test/resources/sql-tests/results/sql-compatibility-functions.sql.out +++ b/sql/core/src/test/resources/sql-tests/results/sql-compatibility-functions.sql.out @@ -94,7 +94,7 @@ struct<> -- !query output org.apache.spark.sql.AnalysisException { - "errorClass" : "WRONG_NUM_ARGS", + "errorClass" : "WRONG_NUM_ARGS.WITH_SUGGESTION", "messageParameters" : { "actualNum" : "2", "expectedNum" : "1", diff --git a/sql/core/src/test/resources/sql-tests/results/table-valued-functions.sql.out b/sql/core/src/test/resources/sql-tests/results/table-valued-functions.sql.out index 1e14bfa2a9d6..113b6afabd0b 100644 --- a/sql/core/src/test/resources/sql-tests/results/table-valued-functions.sql.out +++ b/sql/core/src/test/resources/sql-tests/results/table-valued-functions.sql.out @@ -83,7 +83,7 @@ org.apache.spark.sql.AnalysisException "errorClass" : "_LEGACY_ERROR_TEMP_1179", "messageParameters" : { "arguments" : "integer, integer, integer, integer, integer", - "details" : "[WRONG_NUM_ARGS] The `range` requires [1, 2, 3, 4] parameters but the actual number is 5.", + "details" : "[WRONG_NUM_ARGS.WITH_SUGGESTION] Invalid number of arguments for the function `range`. The function requires [1, 2, 3, 4] parameters but the actual number is 5.", "name" : "range", "usage" : "\n range(start: long, end: long, step: long, numSlices: integer)\n range(start: long, end: long, step: long)\n range(start: long, end: long)\n range(end: long)" }, From a6302e6d5de141c489a78b1b20dbf0baae394ebc Mon Sep 17 00:00:00 2001 From: yangjie01 Date: Tue, 13 Dec 2022 12:44:16 +0800 Subject: [PATCH 12/17] add mesg --- core/src/main/resources/error/error-classes.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/main/resources/error/error-classes.json b/core/src/main/resources/error/error-classes.json index 5229e2629690..f6a34851ca01 100644 --- a/core/src/main/resources/error/error-classes.json +++ b/core/src/main/resources/error/error-classes.json @@ -1531,7 +1531,7 @@ "subClass" : { "WITHOUT_SUGGESTION" : { "message" : [ - "" + "Please ref to 'https://spark.apache.org/docs/latest/sql-ref-functions.html' for fix." ] }, "WITH_SUGGESTION" : { From 57bf6708ffe38017c14f7f8c62608b200d85641e Mon Sep 17 00:00:00 2001 From: yangjie01 Date: Tue, 13 Dec 2022 13:24:20 +0800 Subject: [PATCH 13/17] fix test --- .../apache/spark/sql/errors/QueryCompilationErrorsSuite.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 7b6eb383c8aa..439786d0ecc2 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 @@ -675,7 +675,7 @@ class QueryCompilationErrorsSuite }, errorClass = "WRONG_NUM_ARGS.WITHOUT_SUGGESTION", parameters = Map( - "name" -> "`cast`" + "functionName" -> "`cast`" ), context = ExpectedContext("", "", 7, 13, "CAST(1)") ) From 996741555f3a348e2c4597daf39f16a3f8001886 Mon Sep 17 00:00:00 2001 From: YangJie Date: Tue, 13 Dec 2022 19:10:09 +0800 Subject: [PATCH 14/17] Update core/src/main/resources/error/error-classes.json Co-authored-by: Maxim Gekk --- core/src/main/resources/error/error-classes.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/main/resources/error/error-classes.json b/core/src/main/resources/error/error-classes.json index f6a34851ca01..ad5b8fa90602 100644 --- a/core/src/main/resources/error/error-classes.json +++ b/core/src/main/resources/error/error-classes.json @@ -1536,7 +1536,7 @@ }, "WITH_SUGGESTION" : { "message" : [ - "The function requires parameters but the actual number is ." + "Consider to change the number of arguments because the function requires parameters but the actual number is ." ] } } From e13a7e0091a670e57acf046c629e0976ce1a5d96 Mon Sep 17 00:00:00 2001 From: YangJie Date: Tue, 13 Dec 2022 19:10:17 +0800 Subject: [PATCH 15/17] Update core/src/main/resources/error/error-classes.json Co-authored-by: Maxim Gekk --- core/src/main/resources/error/error-classes.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/main/resources/error/error-classes.json b/core/src/main/resources/error/error-classes.json index ad5b8fa90602..a05758df16c8 100644 --- a/core/src/main/resources/error/error-classes.json +++ b/core/src/main/resources/error/error-classes.json @@ -1531,7 +1531,7 @@ "subClass" : { "WITHOUT_SUGGESTION" : { "message" : [ - "Please ref to 'https://spark.apache.org/docs/latest/sql-ref-functions.html' for fix." + "Please, refer to 'https://spark.apache.org/docs/latest/sql-ref-functions.html' for a fix." ] }, "WITH_SUGGESTION" : { From 1cacfc1e021f75ac42e814f8d691e08407389eba Mon Sep 17 00:00:00 2001 From: yangjie01 Date: Tue, 13 Dec 2022 19:29:40 +0800 Subject: [PATCH 16/17] update golden files --- sql/core/src/test/resources/sql-tests/results/ansi/date.sql.out | 2 +- sql/core/src/test/resources/sql-tests/results/date.sql.out | 2 +- .../test/resources/sql-tests/results/datetime-legacy.sql.out | 2 +- .../resources/sql-tests/results/table-valued-functions.sql.out | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sql/core/src/test/resources/sql-tests/results/ansi/date.sql.out b/sql/core/src/test/resources/sql-tests/results/ansi/date.sql.out index a292e3f0efeb..b0f79ea29346 100644 --- a/sql/core/src/test/resources/sql-tests/results/ansi/date.sql.out +++ b/sql/core/src/test/resources/sql-tests/results/ansi/date.sql.out @@ -145,7 +145,7 @@ struct<> -- !query output org.apache.spark.sql.AnalysisException { - "errorClass" : "WRONG_NUM_ARGS", + "errorClass" : "WRONG_NUM_ARGS.WITH_SUGGESTION", "messageParameters" : { "actualNum" : "1", "expectedNum" : "0", diff --git a/sql/core/src/test/resources/sql-tests/results/date.sql.out b/sql/core/src/test/resources/sql-tests/results/date.sql.out index 2cc1b70be708..cd6253c2b229 100644 --- a/sql/core/src/test/resources/sql-tests/results/date.sql.out +++ b/sql/core/src/test/resources/sql-tests/results/date.sql.out @@ -131,7 +131,7 @@ struct<> -- !query output org.apache.spark.sql.AnalysisException { - "errorClass" : "WRONG_NUM_ARGS", + "errorClass" : "WRONG_NUM_ARGS.WITH_SUGGESTION", "messageParameters" : { "actualNum" : "1", "expectedNum" : "0", diff --git a/sql/core/src/test/resources/sql-tests/results/datetime-legacy.sql.out b/sql/core/src/test/resources/sql-tests/results/datetime-legacy.sql.out index e057b22df013..fba2cc7e1e61 100644 --- a/sql/core/src/test/resources/sql-tests/results/datetime-legacy.sql.out +++ b/sql/core/src/test/resources/sql-tests/results/datetime-legacy.sql.out @@ -131,7 +131,7 @@ struct<> -- !query output org.apache.spark.sql.AnalysisException { - "errorClass" : "WRONG_NUM_ARGS", + "errorClass" : "WRONG_NUM_ARGS.WITH_SUGGESTION", "messageParameters" : { "actualNum" : "1", "expectedNum" : "0", diff --git a/sql/core/src/test/resources/sql-tests/results/table-valued-functions.sql.out b/sql/core/src/test/resources/sql-tests/results/table-valued-functions.sql.out index 113b6afabd0b..f142e2d0a89b 100644 --- a/sql/core/src/test/resources/sql-tests/results/table-valued-functions.sql.out +++ b/sql/core/src/test/resources/sql-tests/results/table-valued-functions.sql.out @@ -83,7 +83,7 @@ org.apache.spark.sql.AnalysisException "errorClass" : "_LEGACY_ERROR_TEMP_1179", "messageParameters" : { "arguments" : "integer, integer, integer, integer, integer", - "details" : "[WRONG_NUM_ARGS.WITH_SUGGESTION] Invalid number of arguments for the function `range`. The function requires [1, 2, 3, 4] parameters but the actual number is 5.", + "details" : "[WRONG_NUM_ARGS.WITH_SUGGESTION] Invalid number of arguments for the function `range`. Consider to change the number of arguments because the function requires [1, 2, 3, 4] parameters but the actual number is 5.", "name" : "range", "usage" : "\n range(start: long, end: long, step: long, numSlices: integer)\n range(start: long, end: long, step: long)\n range(start: long, end: long)\n range(end: long)" }, From 2a8dd0e32e0c19e3e08f0f9a6050ef9b6fe5706c Mon Sep 17 00:00:00 2001 From: yangjie01 Date: Tue, 13 Dec 2022 19:41:35 +0800 Subject: [PATCH 17/17] fix test --- .../test/scala/org/apache/spark/sql/DateFunctionsSuite.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sql/core/src/test/scala/org/apache/spark/sql/DateFunctionsSuite.scala b/sql/core/src/test/scala/org/apache/spark/sql/DateFunctionsSuite.scala index 028ab8ea1474..a01b7cc5edf7 100644 --- a/sql/core/src/test/scala/org/apache/spark/sql/DateFunctionsSuite.scala +++ b/sql/core/src/test/scala/org/apache/spark/sql/DateFunctionsSuite.scala @@ -54,7 +54,7 @@ class DateFunctionsSuite extends QueryTest with SharedSparkSession { exception = intercept[AnalysisException] { sql("SELECT CURDATE(1)") }, - errorClass = "WRONG_NUM_ARGS", + errorClass = "WRONG_NUM_ARGS.WITH_SUGGESTION", parameters = Map( "functionName" -> "`curdate`", "expectedNum" -> "0",