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)

Reply via email to