Yes, ListView is an implementation of Velox's ArrayVector [1] ("vector of arrays"). In Arrow we would naturally refer to them as "array of lists", but `ListArray` is taken by the existing offset-only list formats. Following the pattern adopted by other types in Arrow that use offsets and sizes, we adopt the suffix -View to differentiate list-views from lists.
Velox doesn't offer the 64-bit variation, but since Arrow has both List and LargeList, it was natural to pair them with ListView and LargeListView. [2] is a link to the point of a talk by Mark Raasveldt where he describes the DuckDB list representation. Early in the talk, one of the slides [3] mentions how these formats were "co-designed together with Velox team". -- Felipe [1] https://facebookincubator.github.io/velox/develop/vectors.html#arrayvector [2] https://youtu.be/bZOvAKGkzpQ?si=wgSwew3Ck8utteOI&t=1569 [3] https://15721.courses.cs.cmu.edu/spring2023/slides/22-duckdb.pdf On Fri, Sep 29, 2023 at 9:32 AM Raphael Taylor-Davies <r.taylordav...@googlemail.com.invalid> wrote: > Hi Felipe, > > Can I confirm that DuckDB and Velox use the same encoding for these > types, and so we aren't going to run into similar issues as [1]? > > Kind Regards, > > Raphael Taylor-Davies > > [1]: https://lists.apache.org/thread/l8t1vj5x1wdf75mdw3wfjvnxrfy5xomy > > On 29/09/2023 13:09, Felipe Oliveira Carvalho wrote: > > Hello, > > > > I'd like to propose adding ListView and LargeListView arrays to the Arrow > > format. > > Previous discussion in [1][2], columnar format description and > flatbuffers > > changes in [3]. > > > > There are implementations available in both C++ [4] and Go [5]. I'm > working > > on the integration tests which I will push to one of the PR branches > before > > they are merged. I've made a graph illustrating how this addition > affects, > > in a backwards compatible way, the type predicates and inheritance chain > on > > the C++ implementation. [6] > > > > The vote will be open for at least 72 hours not counting the weekend. > > > > [ ] +1 add the proposed ListView and LargeListView types to the Apache > > Arrow format > > [ ] -1 do not add the proposed ListView and LargeListView types to the > > Apache Arrow format > > because... > > > > Sincerely, > > Felipe > > > > [1] https://lists.apache.org/thread/r28rw5n39jwtvn08oljl09d4q2c1ysvb > > [2] https://lists.apache.org/thread/dcwdzhz15fftoyj6xp89ool9vdk3rh19 > > [3] https://github.com/apache/arrow/pull/37877 > > [4] https://github.com/apache/arrow/pull/35345 > > [5] https://github.com/apache/arrow/pull/37468 > > [6] https://gist.github.com/felipecrv/3c02f3784221d946dec1b031c6d400db > > >