Skip to content

Commit b371912

Browse files
committed
add test in ExplainSuite
1 parent 12d90bd commit b371912

File tree

2 files changed

+17
-2
lines changed

2 files changed

+17
-2
lines changed

sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/trees/TreeNode.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -545,8 +545,8 @@ abstract class TreeNode[BaseType <: TreeNode[BaseType]] extends Product {
545545
case None => Nil
546546
case Some(null) => Nil
547547
case Some(any) => any :: Nil
548-
case map: CaseInsensitiveStringMap =>
549-
truncatedString(map.entrySet().toArray(), "[", ", ", "]", maxFields) :: Nil
548+
case map: CaseInsensitiveStringMap => truncatedString(
549+
map.asCaseSensitiveMap().entrySet().toArray(), "[", ", ", "]", maxFields):: Nil
550550
case table: CatalogTable =>
551551
table.storage.serde match {
552552
case Some(serde) => table.identifier :: serde :: Nil

sql/core/src/test/scala/org/apache/spark/sql/ExplainSuite.scala

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -408,6 +408,21 @@ class ExplainSuite extends ExplainSuiteHelper with DisableAdaptiveExecutionSuite
408408
}
409409
}
410410
}
411+
412+
test("Explain UnresolvedRelation with CaseInsensitiveStringMap options") {
413+
val tableName = "test"
414+
withTable(tableName) {
415+
val df1 = Seq((1L, "a"), (2L, "b"), (3L, "c")).toDF("id", "data")
416+
df1.write.saveAsTable(tableName)
417+
val df2 = spark.read
418+
.option("key1", "value1")
419+
.option("KEY2", "VALUE2")
420+
.table(tableName)
421+
// == Parsed Logical Plan ==
422+
// 'UnresolvedRelation [test], [key1=value1, KEY2=VALUE2]
423+
checkKeywordsExistsInExplain(df2, keywords = "[key1=value1, KEY2=VALUE2]")
424+
}
425+
}
411426
}
412427

413428
class ExplainSuiteAE extends ExplainSuiteHelper with EnableAdaptiveExecutionSuite {

0 commit comments

Comments
 (0)