return getPrimitiveJavaObjectInspector(new DecimalTypeInfo(decimalType.getPrecision(), decimalType.getScale())); else if (isArrayType(type)) { return ObjectInspectorFactory.getStandardListObjectInspector(getJavaObjectInspector(type.getTypeParameters().get(0)));
if (isArrayType(type) || isMapType(type) || isRowType(type)) { return getJavaObjectInspector(type);
if (isArrayType(type)) { return new ArrayFieldSetter(rowInspector, row, field, type.getTypeParameters().get(0));
return getHiveDecimal(decimalType, block, position); if (isArrayType(type)) { Type elementType = type.getTypeParameters().get(0);
return new DecimalTypeInfo(decimalType.getPrecision(), decimalType.getScale()); if (isArrayType(type)) { TypeInfo elementType = translate(type.getTypeParameters().get(0)); return getListTypeInfo(elementType);
return new FloatToDoubleCoercer(); else if (isArrayType(fromType) && isArrayType(toType)) { return new ListCoercer(typeManager, fromHiveType, toHiveType);
return new FloatToDoubleCoercer(); else if (isArrayType(fromType) && isArrayType(toType)) { return new ListCoercer(typeManager, fromHiveType, toHiveType, bridgingRecordCursor);
if (isArrayType(type)) { Type elementType = ((ArrayType) type).getElementType(); return toArrayValue(block, elementType);
public static ObjectInspector getRowColumnInspector(Type type) { if (type.equals(BooleanType.BOOLEAN)) { return writableBooleanObjectInspector; } if (type.equals(BigintType.BIGINT)) { return writableLongObjectInspector; } if (type.equals(DoubleType.DOUBLE)) { return writableDoubleObjectInspector; } if (type.equals(VarcharType.VARCHAR)) { return writableStringObjectInspector; } if (type.equals(VarbinaryType.VARBINARY)) { return writableBinaryObjectInspector; } if (type.equals(DateType.DATE)) { return writableDateObjectInspector; } if (type.equals(TimestampType.TIMESTAMP)) { return writableTimestampObjectInspector; } if (isArrayType(type) || isMapType(type) || isRowType(type)) { return getJavaObjectInspector(type); } throw new IllegalArgumentException("unsupported type: " + type); }
return javaTimestampObjectInspector; else if (isArrayType(type)) { return ObjectInspectorFactory.getStandardListObjectInspector(getJavaObjectInspector(type.getTypeParameters().get(0)));
if (isArrayType(type)) { return new ArrayFieldSetter(rowInspector, row, field, type.getTypeParameters().get(0));
return HIVE_TIMESTAMP.typeInfo; if (isArrayType(type)) { TypeInfo elementType = toTypeInfo(type.getTypeParameters().get(0)); return getListTypeInfo(elementType);
return new Timestamp(millisUtc); if (isArrayType(type)) { Type elementType = type.getTypeParameters().get(0);
if (isArrayType(type)) { Type elementType = ((ArrayType) type).getElementType(); return toArrayValue(block, elementType);