Can you explain what ADT means ? Le 02/04/2024 à 11:31, Finn Völkel a écrit :
Hi, my question primarily concerns the union layout described at https://arrow.apache.org/docs/format/Columnar.html#union-layout There are two ways to use unions: - polymorphic vectors (world 1) - ADT style vectors (world 2) In world 1 you have a vector that stores different types. In the ADT world you could have multiple child vectors with the same type but different type ids in the union type vector. The difference is apparent if you want to use two BigIntVectors as children which doesn't exist in world 1. World 1 is a subset of world 2. The spec (to my understanding) doesn’t explicitly forbid world 2, but the implementation we have been using (Java) has been making the assumption of being in world 1 (a union only having ONE child of each type). We sometimes use union in the ADT style which has led to problems down the road. Could someone clarify what the specification allows and what it doesn’t allow? Could we tighten the specification after that clarification? Best, Finn