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 adabbb50053 [SPARK-43910][SQL] Strip `__auto_generated_subquery_name`
from ids in errors
adabbb50053 is described below
commit adabbb50053d442c0852c0c39c125a02d777d04e
Author: Max Gekk <[email protected]>
AuthorDate: Thu Jun 1 10:14:12 2023 +0300
[SPARK-43910][SQL] Strip `__auto_generated_subquery_name` from ids in errors
### What changes were proposed in this pull request?
In the PR, I propose the drop the prefix `__auto_generated_subquery_name`
from SQL ids in errors.
### Why are the changes needed?
The changes should improve user experience with Spark SQL by making error
messages shorter and more clear.
### Does this PR introduce _any_ user-facing change?
Should not.
### How was this patch tested?
By running the affected test suites:
```
$ PYSPARK_PYTHON=python3 build/sbt "sql/testOnly
org.apache.spark.sql.SQLQueryTestSuite"
$ build/sbt "test:testOnly *QueryCompilationErrorsSuite"
$ build/sbt "sql/testOnly *QueryExecutionErrorsSuite"
```
Closes #41411 from MaxGekk/strip__auto_generated_subquery_name.
Authored-by: Max Gekk <[email protected]>
Signed-off-by: Max Gekk <[email protected]>
---
.../main/scala/org/apache/spark/sql/errors/QueryErrorsBase.scala | 6 +++++-
.../test/resources/sql-tests/analyzer-results/natural-join.sql.out | 2 +-
.../src/test/resources/sql-tests/analyzer-results/pivot.sql.out | 2 +-
.../test/resources/sql-tests/analyzer-results/udf/udf-pivot.sql.out | 2 +-
sql/core/src/test/resources/sql-tests/results/natural-join.sql.out | 2 +-
sql/core/src/test/resources/sql-tests/results/pivot.sql.out | 2 +-
sql/core/src/test/resources/sql-tests/results/udf/udf-pivot.sql.out | 2 +-
.../org/apache/spark/sql/errors/QueryCompilationErrorsSuite.scala | 3 ++-
.../org/apache/spark/sql/errors/QueryExecutionErrorsSuite.scala | 2 +-
9 files changed, 14 insertions(+), 9 deletions(-)
diff --git
a/sql/catalyst/src/main/scala/org/apache/spark/sql/errors/QueryErrorsBase.scala
b/sql/catalyst/src/main/scala/org/apache/spark/sql/errors/QueryErrorsBase.scala
index 5460de77a14..885b2f775e0 100644
---
a/sql/catalyst/src/main/scala/org/apache/spark/sql/errors/QueryErrorsBase.scala
+++
b/sql/catalyst/src/main/scala/org/apache/spark/sql/errors/QueryErrorsBase.scala
@@ -71,7 +71,11 @@ private[sql] trait QueryErrorsBase {
}
def toSQLId(parts: Seq[String]): String = {
- parts.map(quoteIdentifier).mkString(".")
+ val cleaned = parts match {
+ case "__auto_generated_subquery_name" :: rest if rest != Nil => rest
+ case other => other
+ }
+ cleaned.map(quoteIdentifier).mkString(".")
}
def toSQLId(parts: String): String = {
diff --git
a/sql/core/src/test/resources/sql-tests/analyzer-results/natural-join.sql.out
b/sql/core/src/test/resources/sql-tests/analyzer-results/natural-join.sql.out
index 8fe2ba77855..987fb3e0a09 100644
---
a/sql/core/src/test/resources/sql-tests/analyzer-results/natural-join.sql.out
+++
b/sql/core/src/test/resources/sql-tests/analyzer-results/natural-join.sql.out
@@ -494,7 +494,7 @@ org.apache.spark.sql.AnalysisException
"sqlState" : "42703",
"messageParameters" : {
"objectName" : "`nt2`.`k`",
- "proposal" : "`__auto_generated_subquery_name`.`k`,
`__auto_generated_subquery_name`.`v1`, `__auto_generated_subquery_name`.`v2`"
+ "proposal" : "`k`, `v1`, `v2`"
},
"queryContext" : [ {
"objectType" : "",
diff --git
a/sql/core/src/test/resources/sql-tests/analyzer-results/pivot.sql.out
b/sql/core/src/test/resources/sql-tests/analyzer-results/pivot.sql.out
index e5560c04ff1..d7b77f8ce01 100644
--- a/sql/core/src/test/resources/sql-tests/analyzer-results/pivot.sql.out
+++ b/sql/core/src/test/resources/sql-tests/analyzer-results/pivot.sql.out
@@ -743,7 +743,7 @@ org.apache.spark.sql.AnalysisException
"errorClass" : "INCOMPARABLE_PIVOT_COLUMN",
"sqlState" : "42818",
"messageParameters" : {
- "columnName" : "`__auto_generated_subquery_name`.`m`"
+ "columnName" : "`m`"
}
}
diff --git
a/sql/core/src/test/resources/sql-tests/analyzer-results/udf/udf-pivot.sql.out
b/sql/core/src/test/resources/sql-tests/analyzer-results/udf/udf-pivot.sql.out
index b5f4a6be3b2..fa94f77207b 100644
---
a/sql/core/src/test/resources/sql-tests/analyzer-results/udf/udf-pivot.sql.out
+++
b/sql/core/src/test/resources/sql-tests/analyzer-results/udf/udf-pivot.sql.out
@@ -683,7 +683,7 @@ org.apache.spark.sql.AnalysisException
"errorClass" : "INCOMPARABLE_PIVOT_COLUMN",
"sqlState" : "42818",
"messageParameters" : {
- "columnName" : "`__auto_generated_subquery_name`.`m`"
+ "columnName" : "`m`"
}
}
diff --git a/sql/core/src/test/resources/sql-tests/results/natural-join.sql.out
b/sql/core/src/test/resources/sql-tests/results/natural-join.sql.out
index 7faa7822c5f..a8c7ef556fb 100644
--- a/sql/core/src/test/resources/sql-tests/results/natural-join.sql.out
+++ b/sql/core/src/test/resources/sql-tests/results/natural-join.sql.out
@@ -254,7 +254,7 @@ org.apache.spark.sql.AnalysisException
"sqlState" : "42703",
"messageParameters" : {
"objectName" : "`nt2`.`k`",
- "proposal" : "`__auto_generated_subquery_name`.`k`,
`__auto_generated_subquery_name`.`v1`, `__auto_generated_subquery_name`.`v2`"
+ "proposal" : "`k`, `v1`, `v2`"
},
"queryContext" : [ {
"objectType" : "",
diff --git a/sql/core/src/test/resources/sql-tests/results/pivot.sql.out
b/sql/core/src/test/resources/sql-tests/results/pivot.sql.out
index 5c40d1474f6..75eb7c5ab31 100644
--- a/sql/core/src/test/resources/sql-tests/results/pivot.sql.out
+++ b/sql/core/src/test/resources/sql-tests/results/pivot.sql.out
@@ -521,7 +521,7 @@ org.apache.spark.sql.AnalysisException
"errorClass" : "INCOMPARABLE_PIVOT_COLUMN",
"sqlState" : "42818",
"messageParameters" : {
- "columnName" : "`__auto_generated_subquery_name`.`m`"
+ "columnName" : "`m`"
}
}
diff --git
a/sql/core/src/test/resources/sql-tests/results/udf/udf-pivot.sql.out
b/sql/core/src/test/resources/sql-tests/results/udf/udf-pivot.sql.out
index c7e47504b88..8bd2157b453 100644
--- a/sql/core/src/test/resources/sql-tests/results/udf/udf-pivot.sql.out
+++ b/sql/core/src/test/resources/sql-tests/results/udf/udf-pivot.sql.out
@@ -487,7 +487,7 @@ org.apache.spark.sql.AnalysisException
"errorClass" : "INCOMPARABLE_PIVOT_COLUMN",
"sqlState" : "42818",
"messageParameters" : {
- "columnName" : "`__auto_generated_subquery_name`.`m`"
+ "columnName" : "`m`"
}
}
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 1c6b8f3e25d..7f938deaaa6 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
@@ -486,13 +486,14 @@ class QueryCompilationErrorsSuite
sqlState = None,
parameters = Map(
"objectName" -> "`v`.`i`",
- "proposal" -> "`__auto_generated_subquery_name`.`i`"),
+ "proposal" -> "`i`"),
context = ExpectedContext(
fragment = "v.i",
start = 7,
stop = 9))
checkAnswer(sql("SELECT __auto_generated_subquery_name.i from (SELECT i
FROM v)"), Row(1))
+ checkAnswer(sql("SELECT i from (SELECT i FROM v)"), Row(1))
}
}
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 6d2c2600cbb..61349c38d2b 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
@@ -420,7 +420,7 @@ class QueryExecutionErrorsSuite
checkError(
exception = e,
errorClass = "INCOMPARABLE_PIVOT_COLUMN",
- parameters = Map("columnName" ->
"`__auto_generated_subquery_name`.`map`"),
+ parameters = Map("columnName" -> "`map`"),
sqlState = "42818")
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]