I'm going through the process of triaging old PRs, and one of the oldest
ones [1] deals deals with defining the time interval type.  The PR seems to
reflect previously agreed upon discussion [2][3] on how the type should be
modeled.

It seems like the next steps are:
1.  Get the PR reviewed and merged (unless there is more discussion
needed).  I think a committer that works on the Java implementation would
be ideal for this, given it has the largest potential impact on that part
of the project.
2.  Update the java interval types to support this change (or create new
ones if the existing ones are necessary for legacy support?):
    - Change Year-Month [4] to be  8 bytes (64 bits)
    - Change Day-Time [5] to not be a packed type and add support for
resolution
3.  Update the IntervalType [6] in C++ (and maybe other languages to
include DAY_TIME resolution)
4.  Add integration tests to confirm compatibility.

Do these steps sound right?  Is there anything missing?  Are there any more
concerns?

Can a committer/PMC member take on item 1?

If there are no objections I can create missing JIRAs for 2., 3. and 4.

Thanks,
Micah

[1] https://github.com/apache/arrow/pull/920
[2]
https://cwiki.apache.org/confluence/display/ARROW/Columnar+Format+1.0+Milestone#ColumnarFormat1.0Milestone-Interval/Timedelta
[3]
https://lists.apache.org/thread.html/849aca6235757b7ff7cb94c7b459a23539ba942ad900ebaa48519896@%3Cdev.arrow.apache.org%3E
[4]
https://github.com/apache/arrow/blob/87feee3d941ee41fb39b25411e108bef40a55995/java/vector/src/main/java/org/apache/arrow/vector/IntervalYearVector.java
[5]
https://github.com/apache/arrow/blob/87feee3d941ee41fb39b25411e108bef40a55995/java/vector/src/main/java/org/apache/arrow/vector/IntervalDayVector.java
[6] https://github.com/apache/arrow/blob/master/cpp/src/arrow/type.h#L733

Reply via email to