You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spark.apache.org by ma...@apache.org on 2023/02/04 09:00:14 UTC
[spark] branch master updated: [SPARK-42297][SQL] Assign name to _LEGACY_ERROR_TEMP_2412
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 <ha...@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 <ha...@databricks.com>
Signed-off-by: Max Gekk <ma...@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-unsubscribe@spark.apache.org
For additional commands, e-mail: commits-help@spark.apache.org