Having dug into it a bit, I think I've identified the issue here[1]. This would be my first time contributing to Arrow, should I create an issue on JIRA first before starting in on it?
[1] https://docs.rs/arrow/3.0.0/src/arrow/array/array_primitive.rs.html#242-271 On Tue, Mar 2, 2021 at 1:03 PM Andrew Lamb <al...@influxdata.com> wrote: > It seems to me the panic on printing out the array is a bug. > > I think the code should have either errored out in the builder > (date_32_builder.append_value()) or passed successfully. > > It wasn't immediately clear to me from the arrow format definition[1] > envisions signed integers, but the rust code uses i32 signed integers [2]. > > [1] https://github.com/apache/arrow/blob/master/format/Schema.fbs > [2] > > https://github.com/apache/arrow/blob/d4a521aca48340a58c787b6067e11590fde1c05f/rust/arrow/src/datatypes/types.rs#L71 > > On Tue, Mar 2, 2021 at 11:47 AM Eric Burden <eric.w.bur...@gmail.com> > wrote: > > > As it says on the subject line. I encountered this issue attempting to > > store dates prior to the epoch (1970-01-01). I checked for an issue in > JIRA > > and GitHub, but I didn't see anything related and wanted to raise it as a > > discussion before I filed an issue. > > > > MRE: > > > > fn test_date32_builder() { > > let mut date_32_builder = Date32Builder::new(1); > > date_32_builder.append_value(-50).unwrap(); > > let date_32_array = date_32_builder.finish(); > > println!("{:?}", date_32_array); // panics} > > > > *Result:* > > PrimitiveArray<Date32> > > [ > > thread 'demo::tests::test_date32_builder' panicked at 'called > > `Option::unwrap()` on a `None` value', > > > > > /home/eric/.cargo/git/checkouts/arrow-3a9cfebb6b7b2bdc/f7cf157/rust/arrow/src/array/ > array_primitive.rs:226 > > :54 > > note: run with `RUST_BACKTRACE=1` environment variable to display a > > backtrace > > >