Github user mallman commented on a diff in the pull request:
https://github.com/apache/spark/pull/15998#discussion_r89678233
--- Diff:
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/catalog/InMemoryCatalog.scala
---
@@ -482,6 +482,19 @@ class InMemoryCatalog(
}
}
+ override def listPartitionNames(
+ db: String,
+ table: String,
+ partialSpec: Option[TablePartitionSpec] = None): Seq[String] =
synchronized {
+ val partitionColumnNames = getTable(db, table).partitionColumnNames
+
+ listPartitions(db, table, partialSpec).map { partition =>
+ partitionColumnNames.map { name =>
+ name + "=" + partition.spec(name)
--- End diff --
I think there should be column name and value escaping as these are column
names and values. What's confusing to me is that the previous code uses a
method called `escapePathName` which suggests something related to a filesystem
path. Indeed the source code includes a comment stating that the aforementioned
method comes from a Hive class called `FileUtils`.
I'll look into how Hive escapes partition names and values in its
`getPartitionNames` method and report back.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]