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