diff --git a/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/v2/DescribeNamespaceExec.scala b/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/v2/DescribeNamespaceExec.scala index bd8a4f06fe114..8c8fecb57b895 100644 --- a/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/v2/DescribeNamespaceExec.scala +++ b/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/v2/DescribeNamespaceExec.scala @@ -23,6 +23,7 @@ import scala.collection.mutable.ArrayBuffer import org.apache.spark.sql.catalyst.InternalRow import org.apache.spark.sql.catalyst.expressions.Attribute import org.apache.spark.sql.connector.catalog.{CatalogV2Util, SupportsNamespaces} +import org.apache.spark.sql.connector.catalog.CatalogV2Implicits._ /** * Physical plan node for describing a namespace. @@ -37,7 +38,7 @@ case class DescribeNamespaceExec( val ns = namespace.toArray val metadata = catalog.loadNamespaceMetadata(ns) - rows += toCatalystRow("Namespace Name", ns.last) + rows += toCatalystRow("Namespace Name", ns.quoted) CatalogV2Util.NAMESPACE_RESERVED_PROPERTIES.foreach { p => rows ++= Option(metadata.get(p)).map(toCatalystRow(p.capitalize, _)) diff --git a/sql/core/src/test/scala/org/apache/spark/sql/connector/DataSourceV2SQLSuite.scala b/sql/core/src/test/scala/org/apache/spark/sql/connector/DataSourceV2SQLSuite.scala index 68a0f8b282228..ba4828dbf0264 100644 --- a/sql/core/src/test/scala/org/apache/spark/sql/connector/DataSourceV2SQLSuite.scala +++ b/sql/core/src/test/scala/org/apache/spark/sql/connector/DataSourceV2SQLSuite.scala @@ -1243,7 +1243,7 @@ class DataSourceV2SQLSuite )) val description = descriptionDf.collect() assert(description === Seq( - Row("Namespace Name", "ns2"), + Row("Namespace Name", "ns1.ns2"), Row(SupportsNamespaces.PROP_COMMENT.capitalize, "test namespace"), Row(SupportsNamespaces.PROP_LOCATION.capitalize, "/tmp/ns_test"), Row(SupportsNamespaces.PROP_OWNER.capitalize, defaultUser)) @@ -1258,7 +1258,7 @@ class DataSourceV2SQLSuite sql("ALTER NAMESPACE testcat.ns1.ns2 SET PROPERTIES ('a'='b','b'='a')") val descriptionDf = sql("DESCRIBE NAMESPACE EXTENDED testcat.ns1.ns2") assert(descriptionDf.collect() === Seq( - Row("Namespace Name", "ns2"), + Row("Namespace Name", "ns1.ns2"), Row(SupportsNamespaces.PROP_COMMENT.capitalize, "test namespace"), Row(SupportsNamespaces.PROP_LOCATION.capitalize, "/tmp/ns_test"), Row(SupportsNamespaces.PROP_OWNER.capitalize, defaultUser), @@ -1305,7 +1305,7 @@ class DataSourceV2SQLSuite sql("ALTER NAMESPACE testcat.ns1.ns2 SET LOCATION '/tmp/ns_test_2'") val descriptionDf = sql("DESCRIBE NAMESPACE EXTENDED testcat.ns1.ns2") assert(descriptionDf.collect() === Seq( - Row("Namespace Name", "ns2"), + Row("Namespace Name", "ns1.ns2"), Row(SupportsNamespaces.PROP_COMMENT.capitalize, "test namespace"), Row(SupportsNamespaces.PROP_LOCATION.capitalize, "/tmp/ns_test_2"), Row(SupportsNamespaces.PROP_OWNER.capitalize, defaultUser))