You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Apache Spark (Jira)" <ji...@apache.org> on 2021/10/11 05:04:00 UTC

[jira] [Assigned] (SPARK-36970) Manual disabled format `B` for `date_format` function to compatibility with Java 8 behavior.

     [ https://issues.apache.org/jira/browse/SPARK-36970?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Apache Spark reassigned SPARK-36970:
------------------------------------

    Assignee: Apache Spark

> Manual disabled format `B` for `date_format` function to compatibility with Java 8 behavior.
> --------------------------------------------------------------------------------------------
>
>                 Key: SPARK-36970
>                 URL: https://issues.apache.org/jira/browse/SPARK-36970
>             Project: Spark
>          Issue Type: Sub-task
>          Components: SQL
>    Affects Versions: 3.3.0
>            Reporter: Yang Jie
>            Assignee: Apache Spark
>            Priority: Major
>
> The `date_format` function has some behavioral differences when using JDK 8 and JDK 17 as following:
> the result of {{select date_format('2018-11-17 13:33:33.333', 'B')}} in {{datetime-formatting-invalid.sql}} with Java 8 is:
> {code:java}
> -- !query
> select date_format('2018-11-17 13:33:33.333', 'B')
> -- !query schema
> struct<>
> -- !query output
> java.lang.IllegalArgumentException
> Unknown pattern letter: B
> {code}
> and with Java 17 the result is:
> {code:java}
> - datetime-formatting-invalid.sql *** FAILED ***
>   datetime-formatting-invalid.sql
>   Expected "struct<[]>", but got "struct<[date_format(2018-11-17 13:33:33.333, B):string]>" Schema did not match for query #34
>   select date_format('2018-11-17 13:33:33.333', 'B'): -- !query
>   select date_format('2018-11-17 13:33:33.333', 'B')
>   -- !query schema
>   struct<date_format(2018-11-17 13:33:33.333, B):string>
>   -- !query output
>   in the afternoon (SQLQueryTestSuite.scala:469)
> {code}
>  
> From the javadoc we can find that 'B' is used to represent `{{Pattern letters to output a day period`}} in Java 17.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org