[ https://issues.apache.org/jira/browse/FLINK-19757?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17218976#comment-17218976 ]
Jark Wu edited comment on FLINK-19757 at 10/22/20, 12:25 PM: ------------------------------------------------------------- As I said above, your problem is because of the wrong return type of PROCTIME() function. We should fix PROCTIME() return type to return a {{TIMESTAMP WITH LOCAL TIME ZONE}} . This is not a trivial work, because that means we need to support {{TIMESTAMP WITH LOCAL TIME ZONE}} type as time attribute for time-based operations (e.g. windows). The code generation is correct. was (Author: jark): As I said above, the your problem is because of the wrong return type of PROCTIME() function. We should fix PROCTIME() return type to return a {{TIMESTAMP WITH LOCAL TIME ZONE}}. The code generation is correct. > TimeStampData can cause time inconsistent problem > ------------------------------------------------- > > Key: FLINK-19757 > URL: https://issues.apache.org/jira/browse/FLINK-19757 > Project: Flink > Issue Type: Improvement > Components: Table SQL / Runtime > Affects Versions: 1.11.1 > Reporter: xiaogang zhou > Priority: Major > Labels: pull-request-available > > when we check jdk LocalDateTime code,we find that > > {code:java} > // code placeholder > public static LocalDateTime ofEpochSecond(long epochSecond, int nanoOfSecond, > ZoneOffset offset) { > Objects.requireNonNull(offset, "offset"); > NANO_OF_SECOND.checkValidValue(nanoOfSecond); > long localSecond = epochSecond + offset.getTotalSeconds(); // overflow > caught later > long localEpochDay = Math.floorDiv(localSecond, SECONDS_PER_DAY); > int secsOfDay = (int)Math.floorMod(localSecond, SECONDS_PER_DAY); > LocalDate date = LocalDate.ofEpochDay(localEpochDay); > LocalTime time = LocalTime.ofNanoOfDay(secsOfDay * NANOS_PER_SECOND + > nanoOfSecond); > return new LocalDateTime(date, time); > } > {code} > > offset.getTotalSeconds() they add the offset, but in the TimeStampData > toLocalDateTime, we don't add a offset. > > I'd like to add a TimeZone.getDefault().getRawOffset() in the > toLocalDateTime() > and minus a TimeZone.getDefault().getRawOffset() in the > fromLocalDateTime -- This message was sent by Atlassian Jira (v8.3.4#803005)