Thanks Wes,
I've opened a PR [1] with one possible way forward on this issue.  The PR
leaves the existing Java interval implementations untouched and introduces
a new type to meet the other requirements previously discussed on the
mailing list.  The naming of the new types could probably be improved but
hopefully this at least serves as a good basis for discussion.

Thanks,
Micah

[1] https://github.com/apache/arrow/pull/3644

On Sunday, February 17, 2019, Wes McKinney <wesmck...@gmail.com> wrote:

> hi Micah,
>
> I've been trying to make progress on the Interval stuff for more than
> 18 months now -- this is IMHO a barrier to getting project to a 1.0.0
> version so we should try to do it in 2019. I'm OK with implementing a
> change that minimizes disruption to users of the current Java code
> (e.g. Dremio). We need to get some feedback from the Java developers
> about how to proceed.
>
> - Wes
>
> On Sat, Jan 26, 2019 at 2:43 AM Micah Kornfield <emkornfi...@gmail.com>
> wrote:
> >
> > 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/849aca6235757b7ff7cb94c
> 7b459a23539ba942ad900ebaa48519896@%3Cdev.arrow.apache.org%3E
> > [4]
> > https://github.com/apache/arrow/blob/87feee3d941ee41fb39b254
> 11e108bef40a55995/java/vector/src/main/java/org/apache/arrow/vector/
> IntervalYearVector.java
> > [5]
> > https://github.com/apache/arrow/blob/87feee3d941ee41fb39b254
> 11e108bef40a55995/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