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 69229a5dc8b [SPARK-42297][SQL] Assign name to _LEGACY_ERROR_TEMP_2412 69229a5dc8b is described below commit 69229a5dc8b7614352ea57cc88e93b1154115760 Author: itholic <haejoon....@databricks.com> AuthorDate: Sat Feb 4 11:59:52 2023 +0300 [SPARK-42297][SQL] Assign name to _LEGACY_ERROR_TEMP_2412 ### What changes were proposed in this pull request? This PR proposes to assign name to _LEGACY_ERROR_TEMP_2412, "UNSUPPORTED_EXPR_FOR_WINDOW". ### Why are the changes needed? We should assign proper name to _LEGACY_ERROR_TEMP_* ### Does this PR introduce _any_ user-facing change? No ### How was this patch tested? `./build/sbt "sql/testOnly org.apache.spark.sql.SQLQueryTestSuite*"` Closes #39869 from itholic/LEGACY_2412. Authored-by: itholic <haejoon....@databricks.com> Signed-off-by: Max Gekk <max.g...@gmail.com> --- core/src/main/resources/error/error-classes.json | 11 +++++----- .../sql/catalyst/analysis/CheckAnalysis.scala | 4 ++-- .../sql/catalyst/analysis/AnalysisErrorSuite.scala | 5 +++-- .../sql/errors/QueryExecutionErrorsSuite.scala | 25 ++++++++++++++++++++++ 4 files changed, 36 insertions(+), 9 deletions(-) diff --git a/core/src/main/resources/error/error-classes.json b/core/src/main/resources/error/error-classes.json index 030c65e2056..d6a95b22b50 100644 --- a/core/src/main/resources/error/error-classes.json +++ b/core/src/main/resources/error/error-classes.json @@ -1483,6 +1483,12 @@ "Invalid expressions: [<invalidExprSqls>]" ] }, + "UNSUPPORTED_EXPR_FOR_WINDOW" : { + "message" : [ + "Expression <sqlExpr> not supported within a window function." + ], + "sqlState" : "42P20" + }, "UNSUPPORTED_FEATURE" : { "message" : [ "The feature is not supported:" @@ -5172,11 +5178,6 @@ "Cannot specify order by or frame for '<aggFunc>'." ] }, - "_LEGACY_ERROR_TEMP_2412" : { - "message" : [ - "Expression '<sqlExpr>' not supported within a window function." - ] - }, "_LEGACY_ERROR_TEMP_2413" : { "message" : [ "Input argument to <argName> must be a constant." diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/CheckAnalysis.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/CheckAnalysis.scala index 57852bd950d..cca54a8742d 100644 --- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/CheckAnalysis.scala +++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/CheckAnalysis.scala @@ -320,8 +320,8 @@ trait CheckAnalysis extends PredicateHelper with LookupCatalog with QueryErrorsB case f: PythonUDF if PythonUDF.isWindowPandasUDF(f) => // OK case other => other.failAnalysis( - errorClass = "_LEGACY_ERROR_TEMP_2412", - messageParameters = Map("sqlExpr" -> other.toString)) + errorClass = "UNSUPPORTED_EXPR_FOR_WINDOW", + messageParameters = Map("sqlExpr" -> toSQLExpr(other))) } case s: SubqueryExpression => diff --git a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/analysis/AnalysisErrorSuite.scala b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/analysis/AnalysisErrorSuite.scala index 56bb8b0ccc2..71d3deb36c2 100644 --- a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/analysis/AnalysisErrorSuite.scala +++ b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/analysis/AnalysisErrorSuite.scala @@ -172,7 +172,7 @@ class AnalysisErrorSuite extends AnalysisTest { "inputType" -> "\"DATE\"", "requiredType" -> "\"INT\"")) - errorTest( + errorClassTest( "invalid window function", testRelation2.select( WindowExpression( @@ -181,7 +181,8 @@ class AnalysisErrorSuite extends AnalysisTest { UnresolvedAttribute("a") :: Nil, SortOrder(UnresolvedAttribute("b"), Ascending) :: Nil, UnspecifiedFrame)).as("window")), - "not supported within a window function" :: Nil) + errorClass = "UNSUPPORTED_EXPR_FOR_WINDOW", + messageParameters = Map("sqlExpr" -> "\"0\"")) errorTest( "distinct aggregate function in window", 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 5d4b8e0b0c4..89e0bf7fe41 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 @@ -771,6 +771,31 @@ class QueryExecutionErrorsSuite assert(e.getErrorClass === "STREAM_FAILED") assert(e.getCause.isInstanceOf[NullPointerException]) } + + test("UNSUPPORTED_EXPR_FOR_WINDOW: to_date is not supported with WINDOW") { + withTable("t") { + sql("CREATE TABLE t(c String) USING parquet") + + val e = intercept[AnalysisException] { + sql("SELECT to_date('2009-07-30 04:17:52') OVER (PARTITION BY c ORDER BY c) FROM t;") + } + + checkError( + exception = e, + errorClass = "UNSUPPORTED_EXPR_FOR_WINDOW", + parameters = Map( + "sqlExpr" -> "\"to_date(2009-07-30 04:17:52)\"" + ), + queryContext = Array( + ExpectedContext( + fragment = "to_date('2009-07-30 04:17:52') OVER (PARTITION BY c ORDER BY c)", + start = 7, + stop = 69 + ) + ) + ) + } + } } class FakeFileSystemSetPermission extends LocalFileSystem { --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@spark.apache.org For additional commands, e-mail: commits-h...@spark.apache.org