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/01/30 13:22:41 UTC
[spark] branch master updated: [SPARK-41490][SQL] Assign name to _LEGACY_ERROR_TEMP_2441
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 04517fc803e [SPARK-41490][SQL] Assign name to _LEGACY_ERROR_TEMP_2441
04517fc803e is described below
commit 04517fc803e400388acd1d70dd0634125c78d91f
Author: itholic <ha...@databricks.com>
AuthorDate: Mon Jan 30 16:22:24 2023 +0300
[SPARK-41490][SQL] Assign name to _LEGACY_ERROR_TEMP_2441
### What changes were proposed in this pull request?
This PR proposes to assign name to _LEGACY_ERROR_TEMP_2441, "UNSUPPORTED_EXPR_FOR_OPERATOR".
### 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 #39700 from itholic/LEGACY_2441.
Lead-authored-by: itholic <ha...@databricks.com>
Co-authored-by: Haejoon Lee <44...@users.noreply.github.com>
Signed-off-by: Max Gekk <ma...@gmail.com>
---
core/src/main/resources/error/error-classes.json | 12 ++++++------
.../apache/spark/sql/catalyst/analysis/CheckAnalysis.scala | 5 ++---
.../spark/sql/catalyst/analysis/ResolveSubquerySuite.scala | 6 +++++-
.../sql-tests/results/postgreSQL/window_part3.sql.out | 10 ++++------
4 files changed, 17 insertions(+), 16 deletions(-)
diff --git a/core/src/main/resources/error/error-classes.json b/core/src/main/resources/error/error-classes.json
index 653b1ebd013..67e324db1dc 100644
--- a/core/src/main/resources/error/error-classes.json
+++ b/core/src/main/resources/error/error-classes.json
@@ -1459,6 +1459,12 @@
},
"sqlState" : "0A000"
},
+ "UNSUPPORTED_EXPR_FOR_OPERATOR" : {
+ "message" : [
+ "A query operator contains one or more unsupported expressions. Consider to rewrite it to avoid window functions, aggregate functions, and generator functions in the WHERE clause.",
+ "Invalid expressions: [<invalidExprSqls>]"
+ ]
+ },
"UNSUPPORTED_FEATURE" : {
"message" : [
"The feature is not supported:"
@@ -5280,12 +5286,6 @@
"in operator <operator>."
]
},
- "_LEGACY_ERROR_TEMP_2441" : {
- "message" : [
- "The query operator `<operator>` contains one or more unsupported expression types Aggregate, Window or Generate.",
- "Invalid expressions: [<invalidExprSqls>]."
- ]
- },
"_LEGACY_ERROR_TEMP_2443" : {
"message" : [
"Multiple definitions of observed metrics named '<name>': <plan>."
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 276bf714a34..bccced3dff6 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
@@ -724,11 +724,10 @@ trait CheckAnalysis extends PredicateHelper with LookupCatalog with QueryErrorsB
case other if PlanHelper.specialExpressionsInUnsupportedOperator(other).nonEmpty =>
val invalidExprSqls =
- PlanHelper.specialExpressionsInUnsupportedOperator(other).map(_.sql)
+ PlanHelper.specialExpressionsInUnsupportedOperator(other).map(toSQLExpr)
other.failAnalysis(
- errorClass = "_LEGACY_ERROR_TEMP_2441",
+ errorClass = "UNSUPPORTED_EXPR_FOR_OPERATOR",
messageParameters = Map(
- "operator" -> other.nodeName,
"invalidExprSqls" -> invalidExprSqls.mkString(", ")))
// This should not happen, resolved Project or Aggregate should restore or resolve
diff --git a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/analysis/ResolveSubquerySuite.scala b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/analysis/ResolveSubquerySuite.scala
index 7b99153acf9..67265fe6f3b 100644
--- a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/analysis/ResolveSubquerySuite.scala
+++ b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/analysis/ResolveSubquerySuite.scala
@@ -187,7 +187,11 @@ class ResolveSubquerySuite extends AnalysisTest {
test("lateral join with unsupported expressions") {
val plan = lateralJoin(t1, t0.select(($"a" + $"b").as("c")),
condition = Some(sum($"a") === sum($"c")))
- assertAnalysisError(plan, Seq("Invalid expressions: [sum(a), sum(c)]"))
+ assertAnalysisErrorClass(
+ plan,
+ expectedErrorClass = "UNSUPPORTED_EXPR_FOR_OPERATOR",
+ expectedMessageParameters = Map("invalidExprSqls" -> "\"sum(a)\", \"sum(c)\"")
+ )
}
test("SPARK-35618: lateral join with star expansion") {
diff --git a/sql/core/src/test/resources/sql-tests/results/postgreSQL/window_part3.sql.out b/sql/core/src/test/resources/sql-tests/results/postgreSQL/window_part3.sql.out
index 1edf41ebc08..6eccdcb89e1 100644
--- a/sql/core/src/test/resources/sql-tests/results/postgreSQL/window_part3.sql.out
+++ b/sql/core/src/test/resources/sql-tests/results/postgreSQL/window_part3.sql.out
@@ -333,10 +333,9 @@ struct<>
-- !query output
org.apache.spark.sql.AnalysisException
{
- "errorClass" : "_LEGACY_ERROR_TEMP_2441",
+ "errorClass" : "UNSUPPORTED_EXPR_FOR_OPERATOR",
"messageParameters" : {
- "invalidExprSqls" : "row_number() OVER (ORDER BY spark_catalog.default.empsalary.salary ASC NULLS FIRST ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)",
- "operator" : "Join"
+ "invalidExprSqls" : "\"row_number() OVER (ORDER BY salary ASC NULLS FIRST ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)\""
},
"queryContext" : [ {
"objectType" : "",
@@ -355,10 +354,9 @@ struct<>
-- !query output
org.apache.spark.sql.AnalysisException
{
- "errorClass" : "_LEGACY_ERROR_TEMP_2441",
+ "errorClass" : "UNSUPPORTED_EXPR_FOR_OPERATOR",
"messageParameters" : {
- "invalidExprSqls" : "RANK() OVER (ORDER BY 1 ASC NULLS FIRST ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)",
- "operator" : "Aggregate"
+ "invalidExprSqls" : "\"RANK() OVER (ORDER BY 1 ASC NULLS FIRST ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)\""
},
"queryContext" : [ {
"objectType" : "",
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@spark.apache.org
For additional commands, e-mail: commits-help@spark.apache.org