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

Joris Van den Bossche commented on ARROW-14108:
-----------------------------------------------

I find it a bit questionable that we need a kernel to return a day/hour struct, 
while we already have a kernel that returns the day_time interval, from which 
you can easily extract the day and milliseconds (and thus day and computed 
hour) if you want those. 
(and also a kernel that returns month_day_nano interval between, although that 
is harder to convert into a day/hour combo)

Or at least, if we add a convenience to directly get day/hour struct, could it 
be a simple wrapper around {{day_time_interval_between}}? [~rokm] Or would that 
give different results than the custom implementation you did now?

> [C++] interval_between(timestamptz, timestamptz) -> interval kernel
> -------------------------------------------------------------------
>
>                 Key: ARROW-14108
>                 URL: https://issues.apache.org/jira/browse/ARROW-14108
>             Project: Apache Arrow
>          Issue Type: Sub-task
>          Components: C++
>            Reporter: Weston Pace
>            Assignee: Rok Mihevc
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> Given two timestamps that each have time zones this function should return an 
> interval from the first timestamp to the second timestamp according to the 
> following rules (postgres rules):
> * 1 day is 24 physical hours (which may not exactly equal 1 calendar day).
> * Intervals returned will never contain a months/years field
> Examples:
> interval_between('2021-03-14 00:00:00 America/Denver', '2021-03-15 00:00:00 
> America/Denver') => { "hours": 23 }
> interval_between('2021-03-14 00:00:00 UTC', '2021-03-15 00:00:00 UTC') => { 
> "days": 1}
> interval_between('2021-03-14 00:00:00 UTC', '2020-03-14 00:00:00 UTC') => { 
> "days": 365}
> If the first timestamp is larger than the second timestamp then the interval 
> will be negative.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to