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 >