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 <[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 >
