This is an automated email from the ASF dual-hosted git repository. maxgekk pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/spark.git
The following commit(s) were added to refs/heads/master by this push: new a916a059100 [SPARK-42234][SQL] Rename error class: `UNSUPPORTED_FEATURE.REPEATED_PIVOT` a916a059100 is described below commit a916a059100a53583fb987b47ffde5745627fdb8 Author: itholic <haejoon....@databricks.com> AuthorDate: Fri Feb 3 15:17:00 2023 +0300 [SPARK-42234][SQL] Rename error class: `UNSUPPORTED_FEATURE.REPEATED_PIVOT` ### What changes were proposed in this pull request? This PR proposes to rename `UNSUPPORTED_FEATURE.REPEATED_PIVOT` to `REPEATED_CLAUSE`. ### Why are the changes needed? `REPEATED_PIVOT` is actually not an `UNSUPPORTED_FEATURE`, and there must be other cases we should cover in more generic way ### Does this PR introduce _any_ user-facing change? No. ### How was this patch tested? Updated UTs. Closes #39795 from itholic/REPEATED_PIVOT. Lead-authored-by: itholic <haejoon....@databricks.com> Co-authored-by: Haejoon Lee <44108233+itho...@users.noreply.github.com> Signed-off-by: Max Gekk <max.g...@gmail.com> --- core/src/main/resources/error/error-classes.json | 11 ++++++----- .../org/apache/spark/sql/errors/QueryExecutionErrors.scala | 6 +++--- .../scala/org/apache/spark/sql/RelationalGroupedDataset.scala | 4 +++- .../apache/spark/sql/errors/QueryExecutionErrorsSuite.scala | 6 +++--- 4 files changed, 15 insertions(+), 12 deletions(-) diff --git a/core/src/main/resources/error/error-classes.json b/core/src/main/resources/error/error-classes.json index 178eda8ce11..030c65e2056 100644 --- a/core/src/main/resources/error/error-classes.json +++ b/core/src/main/resources/error/error-classes.json @@ -1208,6 +1208,12 @@ ], "sqlState" : "42K03" }, + "REPEATED_CLAUSE" : { + "message" : [ + "The <clause> clause may be used at most once per <operation> operation." + ], + "sqlState" : "42614" + }, "ROUTINE_ALREADY_EXISTS" : { "message" : [ "Cannot create the function <routineName> because it already exists.", @@ -1597,11 +1603,6 @@ "Python UDF in the ON clause of a <joinType> JOIN. In case of an INNNER JOIN consider rewriting to a CROSS JOIN with a WHERE clause." ] }, - "REPEATED_PIVOT" : { - "message" : [ - "Repeated PIVOT operation." - ] - }, "SET_NAMESPACE_PROPERTY" : { "message" : [ "<property> is a reserved namespace property, <msg>." diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/errors/QueryExecutionErrors.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/errors/QueryExecutionErrors.scala index c64c26e510b..b3bd7b727bf 100644 --- a/sql/catalyst/src/main/scala/org/apache/spark/sql/errors/QueryExecutionErrors.scala +++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/errors/QueryExecutionErrors.scala @@ -2602,10 +2602,10 @@ private[sql] object QueryExecutionErrors extends QueryErrorsBase { cause = null) } - def repeatedPivotsUnsupportedError(): Throwable = { + def repeatedPivotsUnsupportedError(clause: String, operation: String): Throwable = { new SparkUnsupportedOperationException( - errorClass = "UNSUPPORTED_FEATURE.REPEATED_PIVOT", - messageParameters = Map.empty[String, String]) + errorClass = "REPEATED_CLAUSE", + messageParameters = Map("clause" -> clause, "operation" -> operation)) } def pivotNotAfterGroupByUnsupportedError(): Throwable = { diff --git a/sql/core/src/main/scala/org/apache/spark/sql/RelationalGroupedDataset.scala b/sql/core/src/main/scala/org/apache/spark/sql/RelationalGroupedDataset.scala index 61517de0dfa..b168bbc4b42 100644 --- a/sql/core/src/main/scala/org/apache/spark/sql/RelationalGroupedDataset.scala +++ b/sql/core/src/main/scala/org/apache/spark/sql/RelationalGroupedDataset.scala @@ -483,7 +483,9 @@ class RelationalGroupedDataset protected[sql]( groupingExprs, RelationalGroupedDataset.PivotType(pivotColumn.expr, valueExprs)) case _: RelationalGroupedDataset.PivotType => - throw QueryExecutionErrors.repeatedPivotsUnsupportedError() + throw QueryExecutionErrors.repeatedPivotsUnsupportedError( + clause = "PIVOT", operation = "SUBQUERY" + ) case _ => throw QueryExecutionErrors.pivotNotAfterGroupByUnsupportedError() } diff --git a/sql/core/src/test/scala/org/apache/spark/sql/errors/QueryExecutionErrorsSuite.scala b/sql/core/src/test/scala/org/apache/spark/sql/errors/QueryExecutionErrorsSuite.scala index c679e4f707f..5d4b8e0b0c4 100644 --- a/sql/core/src/test/scala/org/apache/spark/sql/errors/QueryExecutionErrorsSuite.scala +++ b/sql/core/src/test/scala/org/apache/spark/sql/errors/QueryExecutionErrorsSuite.scala @@ -205,9 +205,9 @@ class QueryExecutionErrorsSuite } checkError( exception = e1, - errorClass = "UNSUPPORTED_FEATURE.REPEATED_PIVOT", - parameters = Map[String, String](), - sqlState = "0A000") + errorClass = "REPEATED_CLAUSE", + parameters = Map("clause" -> "PIVOT", "operation" -> "SUBQUERY"), + sqlState = "42614") val e2 = intercept[SparkUnsupportedOperationException] { trainingSales --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@spark.apache.org For additional commands, e-mail: commits-h...@spark.apache.org