public static Class<?> getWriterInterface(MinorType type){ switch (type) { case UNION: return UnionWriter.class; case STRUCT: return StructWriter.class; case LIST: return ListWriter.class; case TINYINT: return TinyIntWriter.class; case UINT1: return UInt1Writer.class; case UINT2: return UInt2Writer.class; case SMALLINT: return SmallIntWriter.class; case INT: return IntWriter.class; case UINT4: return UInt4Writer.class; case FLOAT4: return Float4Writer.class; case INTERVALYEAR: return IntervalYearWriter.class; case TIMEMILLI: return TimeMilliWriter.class; case BIGINT: return BigIntWriter.class; case UINT8: return UInt8Writer.class; case FLOAT8: return Float8Writer.class; case DATEMILLI: return DateMilliWriter.class; case TIMESTAMPMILLI: return TimeStampMilliWriter.class; case INTERVALDAY: return IntervalDayWriter.class; case DECIMAL: return DecimalWriter.class; case FIXEDSIZEBINARY: return FixedSizeBinaryWriter.class; case VARBINARY: return VarBinaryWriter.class; case VARCHAR: return VarCharWriter.class; case BIT: return BitWriter.class; default: break; } throw new UnsupportedOperationException(buildErrorMessage("get writer interface", type)); }
public static FieldVector getNewVector(Field field, BufferAllocator allocator){ return getNewVector(field, allocator, null); } public static FieldVector getNewVector(Field field, BufferAllocator allocator, CallBack callBack){
public static boolean isNull(ValueHolder holder) { MinorType type = getValueHolderType(holder); throw new UnsupportedOperationException(buildErrorMessage("check is null", type));
public static ValueHolder deNullify(ValueHolder holder) { MajorType type = getValueHolderMajorType(holder.getClass()); throw new UnsupportedOperationException(buildErrorMessage("deNullify", getArrowMinorType(type.getMinorType())));
try { type = CompleteType.fromHolderClass((Class<? extends ValueHolder>) fieldClass); oldType = BasicTypeHelper.getValueHolderMajorType((Class<? extends ValueHolder>) fieldClass); } catch (Exception e) { return failure("Failure while trying to access the ValueHolder's TYPE static variable. All ValueHolders must contain a static TYPE variable that defines their MajorType.", e, func, field);
public static ValueHolder nullify(ValueHolder holder) { MajorType type = getValueHolderMajorType(holder.getClass()); throw new UnsupportedOperationException(buildErrorMessage("nullify", getArrowMinorType(type.getMinorType())));
return 1; throw new UnsupportedOperationException(buildErrorMessage("get size", type));
public static void setNotNull(ValueHolder holder) { MinorType type = getValueHolderType(holder); throw new UnsupportedOperationException(buildErrorMessage("set not null", type));
if (vector == null) { vector = BasicTypeHelper.getNewVector(fieldDef, structVector.allocator); structVector.putChild(fieldDef.getName(), vector);
break; throw new UnsupportedOperationException(buildErrorMessage("get holder reader implementation", type));
public void load(SerializedField metadata, ArrowBuf buf) { final List<SerializedField> fields = metadata.getChildList(); structVector.valueCount = metadata.getValueCount(); int bufOffset = 0; for (final SerializedField child : fields) { final Field fieldDef = SerializedFieldHelper.create(child); FieldVector vector = structVector.getChild(fieldDef.getName()); if (vector == null) { // if we arrive here, we didn't have a matching vector. vector = BasicTypeHelper.getNewVector(fieldDef, structVector.allocator); structVector.putChild(fieldDef.getName(), vector); } if (child.getValueCount() == 0) { vector.clear(); } else { TypeHelper.load(vector, child, buf.slice(bufOffset, child.getBufferLength())); } bufOffset += child.getBufferLength(); } Preconditions.checkState(bufOffset == buf.capacity()); }
break; throw new UnsupportedOperationException(buildErrorMessage("get writer implementation", type));
break; throw new UnsupportedOperationException(buildErrorMessage("get value vector class", type));
return new NullableBitHolder(); default: throw new UnsupportedOperationException(buildErrorMessage("create value holder", type));
throw new UnsupportedOperationException(buildErrorMessage("get new vector", type));
throw new UnsupportedOperationException(buildErrorMessage("get value", type));
((ObjectVector) vector).setSafe(index, (ObjectHolder) holder); default: throw new UnsupportedOperationException(buildErrorMessage("set value safe", getArrowMinorType(type.getMinorType())));