return CompleteType.OBJECT; } else if (holderClass.equals(UnionHolder.class)) { return new CompleteType(new Union(UnionMode.Sparse, new int[0])); } else if (holderClass.equals(NullableFixedSizeBinaryHolder.class)) { return CompleteType.FIXEDSIZEBINARY;
public static CompleteType union(Iterable<Field> fields){ ImmutableList<Field> listOfFields = ImmutableList.copyOf(fields); int[] typeIds = new int[listOfFields.size()]; for (int i =0; i < typeIds.length; i++) { typeIds[i] = MajorTypeHelper.getArrowMinorType(CompleteType.fromField(listOfFields.get(i)).toMinorType()).ordinal(); } return new CompleteType(new ArrowType.Union(UnionMode.Sparse, typeIds), listOfFields); }
final Union unionType = new Union(UnionMode.Sparse, typeIds); return new Field(name, true, unionType, builder.build());
typeIds[i] = unionType.typeIds(i); return new ArrowType.Union(UnionMode.fromFlatbufID(mode), typeIds);
@Override public Field getField() { List<org.apache.arrow.vector.types.pojo.Field> childFields = new ArrayList<>(); List<FieldVector> children = internalStruct.getChildren(); int[] typeIds = new int[children.size()]; for (ValueVector v : children) { typeIds[childFields.size()] = v.getMinorType().ordinal(); childFields.add(v.getField()); } return new Field(name, FieldType.nullable(new ArrowType.Union(Sparse, typeIds)), childFields); }