flink-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (FLINK-6693) Support DATE_FORMAT function in the Table / SQL API
Date Fri, 23 Jun 2017 10:29:00 GMT

    [ https://issues.apache.org/jira/browse/FLINK-6693?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16060701#comment-16060701
] 

ASF GitHub Bot commented on FLINK-6693:
---------------------------------------

Github user twalthr commented on a diff in the pull request:

    https://github.com/apache/flink/pull/4078#discussion_r123718165
  
    --- Diff: flink-libraries/flink-table/src/main/java/org/apache/flink/table/runtime/DateTimeFunctions.java
---
    @@ -0,0 +1,158 @@
    +/*
    + * Licensed to the Apache Software Foundation (ASF) under one
    + * or more contributor license agreements.  See the NOTICE file
    + * distributed with this work for additional information
    + * regarding copyright ownership.  The ASF licenses this file
    + * to you under the Apache License, Version 2.0 (the
    + * "License"); you may not use this file except in compliance
    + * with the License.  You may obtain a copy of the License at
    + *
    + *     http://www.apache.org/licenses/LICENSE-2.0
    + *
    + * Unless required by applicable law or agreed to in writing, software
    + * distributed under the License is distributed on an "AS IS" BASIS,
    + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    + * See the License for the specific language governing permissions and
    + * limitations under the License.
    + */
    +
    +package org.apache.flink.table.runtime;
    +
    +import org.joda.time.format.DateTimeFormatter;
    +import org.joda.time.format.DateTimeFormatterBuilder;
    +
    +/**
    + * Built-in scalar functions for date time related operations.
    + */
    +public class DateTimeFunctions {
    +	private static final int PIVOT_YEAR = 2020;
    +
    +	private static final ThreadLocalCache<String, DateTimeFormatter> DATETIME_FORMATTER_CACHE
=
    +		new ThreadLocalCache<String, DateTimeFormatter>(100) {
    +			@Override
    +			protected DateTimeFormatter getNewInstance(String format) {
    +				return createDateTimeFormatter(format);
    +			}
    +		};
    +
    +	public static String dateFormat(long ts, String formatString) {
    +		DateTimeFormatter formatter = DATETIME_FORMATTER_CACHE.get(formatString);
    --- End diff --
    
    I recently added a `literal` flag to generated expressions. So we can check if the parameters
of a constructor are constant (see `RandCallGen`). Would be great if you could also change
`RandCallGen` to use the ThreadLocalCache if seed is not constant. 


> Support DATE_FORMAT function in the Table / SQL API
> ---------------------------------------------------
>
>                 Key: FLINK-6693
>                 URL: https://issues.apache.org/jira/browse/FLINK-6693
>             Project: Flink
>          Issue Type: New Feature
>          Components: Table API & SQL
>            Reporter: Haohui Mai
>            Assignee: Haohui Mai
>
> It would be quite handy to support the {{DATE_FORMAT}} function in Flink to support various
date / time related operations:
> The specification of the {{DATE_FORMAT}} function can be found in https://prestodb.io/docs/current/functions/datetime.html.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message