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

Jonathan A Sternberg commented on CALCITE-5864:
-----------------------------------------------

No, the number of milliseconds in a quarter (or month) are not well-defined. My 
apologies for the confusion. My original intention was that week reports the 
wrong number of milliseconds and quarter returns the wrong number of months and 
I conflated the two in my title. I'll see if I can modify it.

> getValueAs reports the wrong number of milliseconds for QUARTER and WEEK
> ------------------------------------------------------------------------
>
>                 Key: CALCITE-5864
>                 URL: https://issues.apache.org/jira/browse/CALCITE-5864
>             Project: Calcite
>          Issue Type: Bug
>          Components: core
>            Reporter: Jonathan A Sternberg
>            Priority: Major
>              Labels: pull-request-available
>
> The change that introduced WEEK and QUARTER processing here did not correctly 
> implement the `evaluateIntervalLiteralAsX` functions for these two time units.
> For both of them, it used the `fillIntervalValueArray` with the week 
> parameter being used for months and the quarter parameter being used for 
> months with no modifications to the underlying values.
> For weeks, this results in the field being misused as the hour parameter so 2 
> weeks becomes 2 hours. For quarters, this results in the field being misused 
> as months so 2 quarters becomes 2 months.
> I believe the proper way to implement these is to perform the modification so 
> weeks gets translated to 7 days and quarters gets translated to 3 months.
> This seems to only affect the string versions such as `INTERVAL '2' WEEK`. 
> The integer variants don't seem to use the literal pathway so they aren't 
> affected.



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

Reply via email to