YuanGuanhu created SPARK-37643:
----------------------------------
Summary: when charVarcharAsString is true, char datatype partition
table query incorrect
Key: SPARK-37643
URL: https://issues.apache.org/jira/browse/SPARK-37643
Project: Spark
Issue Type: Bug
Components: SQL
Affects Versions: 3.2.0, 3.1.2
Environment: spark 3.2.0
Reporter: YuanGuanhu
This ticket aim at fixing the bug that does not apply right-padding for char
types partition column when charVarcharAsString is true and partition data
length is lower than defined length.
For example, a query below returns nothing in master, but a correct result is
`abc`.
{code:java}
scala> sql("set spark.sql.legacy.charVarcharAsString=true")
scala> sql("CREATE TABLE tb01(i string, c char(5)) USING parquet partitioned by
(c)")
scala> sql("INSERT INTO tb01 values(1, 'abc')")
scala> sql("select * from tb01 where c = 'abc'").show
+---+
| c|
+---+
+---+{code}
This is because `ApplyCharTypePadding` rpad the expr to charLength. We should
handle this consider conf spark.sql.legacy.charVarcharAsString value.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]