On Fri, Jul 5, 2019 at 10:53 AM John Muehlhausen <[email protected]> wrote: > > It seems as if Arrow expects for some vectors to be empty rather than null. > (Examples: Footer.dictionaries, Field.children) >
When you say "Arrow expects" do you mean the C++ library, or implementations in general? > Anyone using --gen-object-api with flatc will get code that writes null > when (e.g.) _o->children.size() is zero in CreateField(). > > I may be missing something but I don't see a way to change this behavior in > flatc. > > I understand that the object API is not as performant, but wanted to toss > out the question: > > Do we want to tolerate null vectors as well as empty vectors so that other > writer implementations have this option? E.g. if they choose to use > --gen-object-api ? > It seems like implementations ought to be robust to empty-as-null. This issue would need to be probed somehow in the integration tests (e.g. a C++ writer option that toggles empty vs. null) to be safe about it. > -John
