-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/70841/#review215966
-----------------------------------------------------------


Ship it!




Ship It!

- Marta Kuczora


On June 14, 2019, 8:30 a.m., Karen Coppage wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/70841/
> -----------------------------------------------------------
> 
> (Updated June 14, 2019, 8:30 a.m.)
> 
> 
> Review request for hive, Gabor Kaszab and Marta Kuczora.
> 
> 
> Bugs: HIVE-21576
>     https://issues.apache.org/jira/browse/HIVE-21576
> 
> 
> Repository: hive-git
> 
> 
> Description
> -------
> 
> Timestamp and date handling and formatting are currently implemented in Hive 
> using (sometimes very specific) Java SimpleDateFormat patterns with both 
> SimpleDateFormat and java.time.DateTimeFormatter, however, these patterns are 
> not what most standard SQL systems use. For example see Vertica, Netezza, 
> Oracle, and PostgreSQL.
> 
> **Cast...Format**
> 
> SQL:2016 introduced the FORMAT clause for CAST which is the standard way to 
> do string <-> datetime conversions
> 
> For example:
> 
> CAST(<datetime> AS <char string type> [FORMAT <template>])
> CAST(<char string> AS <datetime type> [FORMAT <template>])
> cast(dt as string format 'DD-MM-YYYY')
> cast('01-05-2017' as date format 'DD-MM-YYYY')
> Stuff like this wouldn't need to happen.
> 
> **New SQL:2016 Patterns**
> 
> Some conflicting examples:
> 
> SimpleDateTime: 'MMM dd, yyyy HH:mm:ss'
> SQL:2016: 'mon dd, yyyy hh24:mi:ss'
> 
> SimpleDateTime: 'yyyy-MM-dd HH:mm:ss'
> SQL:2016: 'yyyy-mm-dd hh24:mi:ss'
> 
> For the full list of patterns, see subsection "Proposal for Impala’s datetime 
> patterns" in this doc: 
> https://docs.google.com/document/d/1V7k6-lrPGW7_uhqM-FhKl3QsxwCRy69v2KIxPsGjc1k/edit
> 
> **Continued usage of SimpleDateFormat patterns**
> 
> [Update] This feature will NOT be behind a flag in order to keep things 
> simple for users. Existing Hive functions that accept SimpleDateFormat 
> patterns as input will continue to do so. Please let me know if you disagree 
> with this decision. These are the functions (afaik) affected:
> 
> from_unixtime(bigint unixtime[, string format])
> unix_timestamp(string date, string pattern)
> to_unix_timestamp(date[, pattern])
> add_months(string start_date, int num_months, output_date_format)
> date_format(date/timestamp/string ts, string fmt)
> This description is a heavily edited description of IMPALA-4018.
> 
> 
> Diffs
> -----
> 
>   
> common/src/java/org/apache/hadoop/hive/common/format/datetime/HiveSqlDateTimeFormatter.java
>  PRE-CREATION 
>   
> common/src/java/org/apache/hadoop/hive/common/format/datetime/package-info.java
>  PRE-CREATION 
>   
> common/src/test/org/apache/hadoop/hive/common/format/datetime/TestHiveSqlDateTimeFormatter.java
>  PRE-CREATION 
>   
> common/src/test/org/apache/hadoop/hive/common/format/datetime/package-info.java
>  PRE-CREATION 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java d08b05fb68 
>   ql/src/java/org/apache/hadoop/hive/ql/parse/IdentifiersParser.g 58fe0cd32e 
>   ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFCastFormat.java 
> PRE-CREATION 
>   
> ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFCastFormat.java
>  PRE-CREATION 
>   ql/src/test/queries/clientpositive/cast_datetime_with_sql_2016_format.q 
> PRE-CREATION 
>   ql/src/test/results/clientpositive/cast_datetime_with_sql_2016_format.q.out 
> PRE-CREATION 
>   ql/src/test/results/clientpositive/show_functions.q.out 374e9c4fce 
> 
> 
> Diff: https://reviews.apache.org/r/70841/diff/8/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Karen Coppage
> 
>

Reply via email to