You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "vinoyang (JIRA)" <ji...@apache.org> on 2019/04/11 03:46:00 UTC

[jira] [Created] (CALCITE-2989) The method ymdToJulian in DateTimeUtils returns wrong value

vinoyang created CALCITE-2989:
---------------------------------

             Summary: The method ymdToJulian in DateTimeUtils returns wrong value
                 Key: CALCITE-2989
                 URL: https://issues.apache.org/jira/browse/CALCITE-2989
             Project: Calcite
          Issue Type: Bug
          Components: avatica
            Reporter: vinoyang


If we uses avatica's {{DateTimeUtils}} the dates less than 2299161 will cause an error result in Flink table/sql , test code :
{code:java}
testAllApis(
  "1500-04-30 12:00:00".cast(Types.SQL_TIMESTAMP),
  "'1500-04-30 12:00:00'.cast(SQL_TIMESTAMP)",
  "CAST('1500-04-30 12:00:00' AS TIMESTAMP)",
  "1500-04-30 12:00:00.0")
{code}
result :
{code:java}
Expected :1500-04-30 12:00:00.0
Actual :1500-04-20 12:00:00.0
{code}
another case is here : 

https://issues.apache.org/jira/browse/FLINK-11935

I find a key code snippet has been removed in CALCITE-1884 which caused this issue :
{code:java}
if (j < 2299161) {
   j = day + (153 * m + 2) / 5 + 365 * y + y / 4 - 32083;
}
{code}
 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)