[ https://issues.apache.org/jira/browse/IGNITE-24909?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17938956#comment-17938956 ]
Pavel Pereslegin commented on IGNITE-24909: ------------------------------------------- Calcite uses SimpleDateFormat to parse dates internally, so issues with possible invalid/wrong patterns and overflows are related to Java's SimpleDateFormat. For example the following is acceptable for SimpleDateFormat: {code:java} DateFormat df = new SimpleDateFormat("yy-MM-dd", Locale.ENGLISH); System.out.println(df.parse("9999999-9999999-9999999")); // Sun Dec 27 00:00:00 MSK 9999998 {code} And the same is acceptable by Calcite {code:java} sql("SELECT CAST('9999999-9999999-9999999' AS DATE FORMAT 'yy-MM-dd')"); // [[-898510-03-05]] {code} > Sql. Improve test coverage for date/time templates support > ---------------------------------------------------------- > > Key: IGNITE-24909 > URL: https://issues.apache.org/jira/browse/IGNITE-24909 > Project: Ignite > Issue Type: Improvement > Components: sql > Reporter: Pavel Pereslegin > Priority: Major > Labels: ignite-3 > > Date/time formatting tests currently located in {{test_cast_format.test}}, > but the tests look incomplete. > Need to improve checks for boundary values and templates (see 9.44 Datetime > templates): > * Incorrect templates, for example YYYYY, FF0, FF10, MMM, DDDD > * Pattern mismatching (for example {{SELECT CAST('2021-01-9999' AS DATE > FORMAT 'YYYY-MM-DD')}}). > * Cast values with overflow, for example cast('9999-00-00' as date format > 'YYYY-MM-DD') or cast('9999-99-99' as date format 'YYYY-MM-DD') produces > strange results > * Add test for cast with precision greater than zero (for example SELECT > cast('01:05:07.161' as time(*2*) format 'HH24:MI:SS.FF1')) > * Add tests that uses dynamic parameters > * Add tests that uses table columns -- This message was sent by Atlassian Jira (v8.20.10#820010)