Am I correct that timestamp is a 64 bit signed integer representing 
microseconds since 1970? If so, it would be helpful to state the minimum and 
maximum values in the spec.

I can’t quite imagine a use case for microsecond time, given that it takes the 
same number of bits as a timestamp. But still, no harm in including it.

At some point someone will want MONTH as a time unit (to support SQL’s 
year-to-month interval type) and someone will want nanosecond timestamp 
(problematic, because it needs more than 64 bits for a useful range to dates). 
But these can wait until version 2.

Julian


> On Mar 17, 2017, at 9:51 AM, Wes McKinney <wesmck...@gmail.com> wrote:
> 
> hi folks,
> 
> We have some format decisions to make about all 3 of the primary
> temporal types in Arrow:
> 
> ARROW-617 - Time type
> - It is proposed to add the type bit width to the metadata for
> clarity, and using the smallest type that can accommodate a particular
> time unit
> - PATCH: https://github.com/apache/arrow/pull/385
> 
> ARROW-316: Date type
> - It is proposed to add a DateUnit to indicate day-based date (a la
> PostgreSQL and other systems) as int32 vs. millisecond-based date as
> int64 (a la Joda, and current Arrow Java)
> - PATCH: https://github.com/apache/arrow/pull/390
> 
> ARROW-637: Timestamp type
> - It is proposed to add a timezone string to the metadata as to
> disambiguate TZ-naive vs. TZ-aware data, but otherwise display only
> (changing the time zone does not alter the physical int64 timestamp
> values)
> - PATCH: https://github.com/apache/arrow/pull/388
> 
> There seems to be some degree of consensus on all 3 of these, but it
> would be good to reach a final decision and merge patches so that we
> can do the corresponding dev work in Java and C++, and hopefully get
> integration tests working in time for the Arrow 0.3 release.
> 
> Thanks!
> Wes

Reply via email to