Hisoka-X commented on code in PR #43243:
URL: https://github.com/apache/spark/pull/43243#discussion_r1351132582


##########
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/csv/CSVInferSchema.scala:
##########
@@ -202,8 +202,11 @@ class CSVInferSchema(val options: CSVOptions) extends 
Serializable {
     // We can only parse the value as TimestampNTZType if it does not have 
zone-offset or
     // time-zone component and can be parsed with the timestamp formatter.
     // Otherwise, it is likely to be a timestamp with timezone.
-    if (timestampNTZFormatter.parseWithoutTimeZoneOptional(field, 
false).isDefined) {
-      SQLConf.get.timestampType
+    val timestampType = SQLConf.get.timestampType
+    if ((SQLConf.get.legacyTimeParserPolicy == LegacyBehaviorPolicy.LEGACY ||
+        timestampType == TimestampNTZType) &&
+        timestampNTZFormatter.parseWithoutTimeZoneOptional(field, 
false).isDefined) {

Review Comment:
   1. Because the `LEGACY` behavior used `timestampNTZFormatter` to parse 
timestamp. So I don't change it when use `LEGACY` mode. Without this, some test 
case like `CSVLegacyTimeParserSuite.SPARK-37326: Timestamp type inference for a 
column with TIMESTAMP_NTZ values` can't passed. 
https://github.com/Hisoka-X/spark/runs/17462554632
   2. It should be `(legacyTimeParserPolicy = LEGACY || timestampType == 
TimestampNTZType)` not `(legacyTimeParserPolicy = LEGACY || timestampType == 
TimestampLTZType)` if I think correctly.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to