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

Reply via email to