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

Julian Hyde commented on CALCITE-6248:
--------------------------------------

I understand your chain of reasoning. But it is flawed, because there is an 
implicit assumption that the code in Avatica is the correct implementation of 
Calcite's requirements. The requirement is that {{cast('1945-02-32' as date)}} 
should throw and that {{cast('1945-2-2' as date)}} should not. The ideal 
pattern is thorough unit tests + a cursory system test to check assumptions.

> Illegal dates are accepted by casts
> -----------------------------------
>
>                 Key: CALCITE-6248
>                 URL: https://issues.apache.org/jira/browse/CALCITE-6248
>             Project: Calcite
>          Issue Type: Bug
>          Components: avatica, core
>    Affects Versions: 1.36.0
>            Reporter: Mihai Budiu
>            Priority: Minor
>              Labels: pull-request-available
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> The following test passes in SqlOperatorTest:
> {code:java}
>   @Test public void testIllegalDate() {
>     final SqlOperatorFixture f = fixture();
>     f.checkScalar("cast('1945-02-32' as DATE)",
>         "1945-03-04", "DATE NOT NULL");
>   }
> {code}
> There is no February 32, I suspect that this expression should produce an 
> error.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to