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/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