Skip to content
This repository was archived by the owner on Nov 15, 2024. It is now read-only.

Commit e0503a7

Browse files
ueshingatorsmile
authored andcommitted
[SPARK-22273][SQL] Fix key/value schema field names in HashMapGenerators.
## What changes were proposed in this pull request? When fixing schema field names using escape characters with `addReferenceMinorObj()` at [SPARK-18952](https://issues.apache.org/jira/browse/SPARK-18952) (apache#16361), double-quotes around the names were remained and the names become something like `"((java.lang.String) references[1])"`. ```java /* 055 */ private int maxSteps = 2; /* 056 */ private int numRows = 0; /* 057 */ private org.apache.spark.sql.types.StructType keySchema = new org.apache.spark.sql.types.StructType().add("((java.lang.String) references[1])", org.apache.spark.sql.types.DataTypes.StringType); /* 058 */ private org.apache.spark.sql.types.StructType valueSchema = new org.apache.spark.sql.types.StructType().add("((java.lang.String) references[2])", org.apache.spark.sql.types.DataTypes.LongType); /* 059 */ private Object emptyVBase; ``` We should remove the double-quotes to refer the values in `references` properly: ```java /* 055 */ private int maxSteps = 2; /* 056 */ private int numRows = 0; /* 057 */ private org.apache.spark.sql.types.StructType keySchema = new org.apache.spark.sql.types.StructType().add(((java.lang.String) references[1]), org.apache.spark.sql.types.DataTypes.StringType); /* 058 */ private org.apache.spark.sql.types.StructType valueSchema = new org.apache.spark.sql.types.StructType().add(((java.lang.String) references[2]), org.apache.spark.sql.types.DataTypes.LongType); /* 059 */ private Object emptyVBase; ``` ## How was this patch tested? Existing tests. Author: Takuya UESHIN <[email protected]> Closes apache#19491 from ueshin/issues/SPARK-22273.
1 parent e353640 commit e0503a7

File tree

2 files changed

+8
-8
lines changed

2 files changed

+8
-8
lines changed

sql/core/src/main/scala/org/apache/spark/sql/execution/aggregate/RowBasedHashMapGenerator.scala

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,10 @@ class RowBasedHashMapGenerator(
5050
val keyName = ctx.addReferenceMinorObj(key.name)
5151
key.dataType match {
5252
case d: DecimalType =>
53-
s""".add("$keyName", org.apache.spark.sql.types.DataTypes.createDecimalType(
53+
s""".add($keyName, org.apache.spark.sql.types.DataTypes.createDecimalType(
5454
|${d.precision}, ${d.scale}))""".stripMargin
5555
case _ =>
56-
s""".add("$keyName", org.apache.spark.sql.types.DataTypes.${key.dataType})"""
56+
s""".add($keyName, org.apache.spark.sql.types.DataTypes.${key.dataType})"""
5757
}
5858
}.mkString("\n").concat(";")
5959

@@ -63,10 +63,10 @@ class RowBasedHashMapGenerator(
6363
val keyName = ctx.addReferenceMinorObj(key.name)
6464
key.dataType match {
6565
case d: DecimalType =>
66-
s""".add("$keyName", org.apache.spark.sql.types.DataTypes.createDecimalType(
66+
s""".add($keyName, org.apache.spark.sql.types.DataTypes.createDecimalType(
6767
|${d.precision}, ${d.scale}))""".stripMargin
6868
case _ =>
69-
s""".add("$keyName", org.apache.spark.sql.types.DataTypes.${key.dataType})"""
69+
s""".add($keyName, org.apache.spark.sql.types.DataTypes.${key.dataType})"""
7070
}
7171
}.mkString("\n").concat(";")
7272

sql/core/src/main/scala/org/apache/spark/sql/execution/aggregate/VectorizedHashMapGenerator.scala

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,10 @@ class VectorizedHashMapGenerator(
5555
val keyName = ctx.addReferenceMinorObj(key.name)
5656
key.dataType match {
5757
case d: DecimalType =>
58-
s""".add("$keyName", org.apache.spark.sql.types.DataTypes.createDecimalType(
58+
s""".add($keyName, org.apache.spark.sql.types.DataTypes.createDecimalType(
5959
|${d.precision}, ${d.scale}))""".stripMargin
6060
case _ =>
61-
s""".add("$keyName", org.apache.spark.sql.types.DataTypes.${key.dataType})"""
61+
s""".add($keyName, org.apache.spark.sql.types.DataTypes.${key.dataType})"""
6262
}
6363
}.mkString("\n").concat(";")
6464

@@ -68,10 +68,10 @@ class VectorizedHashMapGenerator(
6868
val keyName = ctx.addReferenceMinorObj(key.name)
6969
key.dataType match {
7070
case d: DecimalType =>
71-
s""".add("$keyName", org.apache.spark.sql.types.DataTypes.createDecimalType(
71+
s""".add($keyName, org.apache.spark.sql.types.DataTypes.createDecimalType(
7272
|${d.precision}, ${d.scale}))""".stripMargin
7373
case _ =>
74-
s""".add("$keyName", org.apache.spark.sql.types.DataTypes.${key.dataType})"""
74+
s""".add($keyName, org.apache.spark.sql.types.DataTypes.${key.dataType})"""
7575
}
7676
}.mkString("\n").concat(";")
7777

0 commit comments

Comments
 (0)