Skip to content

Commit 1c0bd4c

Browse files
ulysses-youhuaxingao
authored andcommitted
[SPARK-39656][SQL][3.2] Fix wrong namespace in DescribeNamespaceExec
backport #37049 for branch-3.2 <!-- Thanks for sending a pull request! Here are some tips for you: 1. If this is your first time, please read our contributor guidelines: https://spark.apache.org/contributing.html 2. Ensure you have added or run the appropriate tests for your PR: https://spark.apache.org/developer-tools.html 3. If the PR is unfinished, add '[WIP]' in your PR title, e.g., '[WIP][SPARK-XXXX] Your PR title ...'. 4. Be sure to keep the PR description updated to reflect all changes. 5. Please write your PR title to summarize what this PR proposes. 6. If possible, provide a concise example to reproduce the issue for a faster review. 7. If you want to add a new configuration, please read the guideline first for naming configurations in 'core/src/main/scala/org/apache/spark/internal/config/ConfigEntry.scala'. 8. If you want to add or modify an error type or message, please read the guideline first in 'core/src/main/resources/error/README.md'. --> ### What changes were proposed in this pull request? <!-- Please clarify what changes you are proposing. The purpose of this section is to outline the changes and how this PR fixes the issue. If possible, please consider writing useful notes for better and faster reviews in your PR. See the examples below. 1. If you refactor some codes with changing classes, showing the class hierarchy will help reviewers. 2. If you fix some SQL features, you can provide some references of other DBMSes. 3. If there is design documentation, please add the link. 4. If there is a discussion in the mailing list, please add the link. --> DescribeNamespaceExec change ns.last to ns.quoted ### Why are the changes needed? <!-- Please clarify why the changes are needed. For instance, 1. If you propose a new API, clarify the use case for a new API. 2. If you fix a bug, you can clarify why it is a bug. --> DescribeNamespaceExec should show the whole namespace rather than last ### Does this PR introduce _any_ user-facing change? <!-- Note that it means *any* user-facing change including all aspects such as the documentation fix. If yes, please clarify the previous behavior and the change this PR proposes - provide the console output, description and/or an example to show the behavior difference if possible. If possible, please also clarify if this is a user-facing change compared to the released Spark versions or within the unreleased branches such as master. If no, write 'No'. --> yes, a small bug fix ### How was this patch tested? <!-- If tests were added, say they were added here. Please make sure to add some test cases that check the changes thoroughly including negative and positive cases if possible. If it was tested in a way different from regular unit tests, please clarify how you tested step by step, ideally copy and paste-able, so that other reviewers can test and check, and descendants can verify in the future. If tests were not added, please describe why they were not added and/or why it was difficult to add. If benchmark tests were added, please run the benchmarks in GitHub Actions for the consistent environment, and the instructions could accord to: https://spark.apache.org/developer-tools.html#github-workflow-benchmarks. --> fix test Closes #37072 from ulysses-you/desc-namespace-3.2. Authored-by: ulysses-you <ulyssesyou18@gmail.com> Signed-off-by: huaxingao <huaxin_gao@apple.com>
1 parent 3d084fe commit 1c0bd4c

File tree

2 files changed

+5
-4
lines changed

2 files changed

+5
-4
lines changed

sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/v2/DescribeNamespaceExec.scala

+2-1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import scala.collection.mutable.ArrayBuffer
2323
import org.apache.spark.sql.catalyst.InternalRow
2424
import org.apache.spark.sql.catalyst.expressions.Attribute
2525
import org.apache.spark.sql.connector.catalog.{CatalogV2Util, SupportsNamespaces}
26+
import org.apache.spark.sql.connector.catalog.CatalogV2Implicits._
2627

2728
/**
2829
* Physical plan node for describing a namespace.
@@ -37,7 +38,7 @@ case class DescribeNamespaceExec(
3738
val ns = namespace.toArray
3839
val metadata = catalog.loadNamespaceMetadata(ns)
3940

40-
rows += toCatalystRow("Namespace Name", ns.last)
41+
rows += toCatalystRow("Namespace Name", ns.quoted)
4142

4243
CatalogV2Util.NAMESPACE_RESERVED_PROPERTIES.foreach { p =>
4344
rows ++= Option(metadata.get(p)).map(toCatalystRow(p.capitalize, _))

sql/core/src/test/scala/org/apache/spark/sql/connector/DataSourceV2SQLSuite.scala

+3-3
Original file line numberDiff line numberDiff line change
@@ -1243,7 +1243,7 @@ class DataSourceV2SQLSuite
12431243
))
12441244
val description = descriptionDf.collect()
12451245
assert(description === Seq(
1246-
Row("Namespace Name", "ns2"),
1246+
Row("Namespace Name", "ns1.ns2"),
12471247
Row(SupportsNamespaces.PROP_COMMENT.capitalize, "test namespace"),
12481248
Row(SupportsNamespaces.PROP_LOCATION.capitalize, "/tmp/ns_test"),
12491249
Row(SupportsNamespaces.PROP_OWNER.capitalize, defaultUser))
@@ -1258,7 +1258,7 @@ class DataSourceV2SQLSuite
12581258
sql("ALTER NAMESPACE testcat.ns1.ns2 SET PROPERTIES ('a'='b','b'='a')")
12591259
val descriptionDf = sql("DESCRIBE NAMESPACE EXTENDED testcat.ns1.ns2")
12601260
assert(descriptionDf.collect() === Seq(
1261-
Row("Namespace Name", "ns2"),
1261+
Row("Namespace Name", "ns1.ns2"),
12621262
Row(SupportsNamespaces.PROP_COMMENT.capitalize, "test namespace"),
12631263
Row(SupportsNamespaces.PROP_LOCATION.capitalize, "/tmp/ns_test"),
12641264
Row(SupportsNamespaces.PROP_OWNER.capitalize, defaultUser),
@@ -1305,7 +1305,7 @@ class DataSourceV2SQLSuite
13051305
sql("ALTER NAMESPACE testcat.ns1.ns2 SET LOCATION '/tmp/ns_test_2'")
13061306
val descriptionDf = sql("DESCRIBE NAMESPACE EXTENDED testcat.ns1.ns2")
13071307
assert(descriptionDf.collect() === Seq(
1308-
Row("Namespace Name", "ns2"),
1308+
Row("Namespace Name", "ns1.ns2"),
13091309
Row(SupportsNamespaces.PROP_COMMENT.capitalize, "test namespace"),
13101310
Row(SupportsNamespaces.PROP_LOCATION.capitalize, "/tmp/ns_test_2"),
13111311
Row(SupportsNamespaces.PROP_OWNER.capitalize, defaultUser))

0 commit comments

Comments
 (0)