> Wes, is the intended usage of type_ids to allow a producer to pass a
subset columns of unions without modifying the type codes?

Yes

On Tue, Nov 26, 2019 at 8:08 PM Fan Liya <liya.fa...@gmail.com> wrote:
>
> Hi Antoine,
>
> For Java, the physical child id is the same as the logical type code, as
> the index of each child vector is the code (ordinal) of the vector's minor
> type.
> This leads to a problem, that only a single vector for each type can exist
> in a union vector, so strictly speaking, the Java implementation is not
> consistent with the Arrow specification. (This is indicated by Micah long
> ago).
>
> Best,
> Liya Fan
>
>
> On Tue, Nov 26, 2019 at 9:59 PM Francois Saint-Jacques <
> fsaintjacq...@gmail.com> wrote:
>
> > It seems that the array_union_test.cc does the latter, look at how
> > `expected_types` is constructed. I opened
> > https://issues.apache.org/jira/browse/ARROW-7265 .
> >
> > Wes, is the intended usage of type_ids to allow a producer to pass a
> > subset columns of unions without modifying the type codes?
> >
> > François
> >
> >
> > On Thu, Nov 21, 2019 at 10:51 AM Antoine Pitrou <anto...@python.org>
> > wrote:
> > >
> > >
> > > Hello,
> > >
> > > There's some ambiguity whether a union array's "types" buffer stores
> > > physical child ids, or logical type codes.
> > >
> > > Some of our C++ tests assume the former:
> > >
> > https://github.com/apache/arrow/blob/master/cpp/src/arrow/array_union_test.cc#L107-L123
> > >
> > > Some of our C++ tests assume the latter:
> > >
> > https://github.com/apache/arrow/blob/master/cpp/src/arrow/array_union_test.cc#L311-L326
> > >
> > https://github.com/apache/arrow/blob/master/cpp/src/arrow/ipc/json_simple_test.cc#L943-L955
> > >
> > > Critically, no validation of union data is currently implemented in C++
> > > (ARROW-6157).  I can't parse the Java source code.
> > >
> > > Regards
> > >
> > > Antoine.
> > >
> >

Reply via email to