If I'm being honest I would only do days, hours, milliseconds. Months doesn't 
really have a defined standard (unless I know the datetime that I am adding to 
or subtracting to). I can't add or subtract 30 days and know that it is a 
month. The actual is same for a year. So, based on some of the implementations 
I'm seeing. The first value isn't month, but should be referred to as 30 day 
intervals.

> On April 13, 2022 12:05 PM Micah Kornfield <[email protected]> wrote:
> 
> 
> Hi Kyle,
> > We would have to know the start datetime and end datetime to calculate the 
> > actual values.
> I believe this is intended. There are two types of durations, those that 
> relate to calendars (you need to know when they start) and those that are 
> independent of any notion of calendar and measure an absolute time delta. 
> Both are useful. It's unfortunate that there isn't common terminology, Avro's 
> duration is referred to as interval in other systems.
> 
> > The duration logical type represents an amount of time defined by the 
> > number of weeks, days, and milliseconds.
> Changing to weeks seems like a fundamentally breaking change? What value do 
> weeks have over days? For context in SQL systems there are generally two 
> different durations (Year-Month) and (Days/Seconds). Some systems combine the 
> two (e.g. Postgres and BigQuery).
> 
> Cheers,
> Micah
> 
> 
> On Wed, Apr 13, 2022 at 11:22 AM kyle minmaxcorp.com (http://minmaxcorp.com) 
> <[email protected]> wrote:
> > When it comes to a duration type, both years and months are not standard 
> > increments. We would have to know the start datetime and end datetime to 
> > calculate the actual values.
> > 
> > Current Text:
> > 
> > Duration
> > 
> > The duration logical type represents an amount of time defined by a number 
> > of months, days and milliseconds. This is not equivalent to a number of 
> > milliseconds, because, depending on the moment in time from which the 
> > duration is measured, the number of days in the month and number of 
> > milliseconds in a day may differ. Other standard periods such as years, 
> > quarters, hours and minutes can be expressed through these basic periods.
> > 
> > 
> > 
> > A duration logical type annotates Avro fixed type of size 12, which stores 
> > three little-endian unsigned integers that represent durations at different 
> > granularities of time. The first stores a number in months, the second 
> > stores a number in days, and the third stores a number in milliseconds.
> > 
> > 
> > 
> > Updated text:
> > 
> > Duration
> > 
> > The duration logical type represents an amount of time defined by the 
> > number of weeks, days, and milliseconds. Other standard periods such as 
> > hours, minutes, and seconds can be expressed through these basic periods.
> > 
> > 
> > 
> > A duration logical type annotates Avro fixed type of size 12, which stores 
> > three little-endian unsigned integers that represent durations at different 
> > granularities of time. The first stores a number in weeks, the second 
> > stores a number in days, and the third stores a number in milliseconds.
> > 
> > 
> > Additional discussions:
> > https://issues.apache.org/jira/browse/AVRO-739?focusedCommentId=14083646&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-14083646

Reply via email to