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 <max.g...@gmail.com> 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 <max.g...@gmail.com> Signed-off-by: Max Gekk <max.g...@gmail.com> --- .../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: commits-unsubscr...@spark.apache.org For additional commands, e-mail: commits-h...@spark.apache.org