default: if (type.isArray()) { return ((List) value).stream().map(e -> getAvroValue(e, type.getArrayElementType())) .collect(Collectors.toList());
default: if (fieldType.isArray()) { return fieldType.getArrayElementType() + "[]";
default: if (type.isArray()) { String typeName = toPostgresqlPrimitiveTypeName(type.getArrayElementType()); ps.setArray(i + 1, connection.createArrayOf(typeName, ((List) value).toArray())); } else if (type.isMap()) {
FieldType arrayType = fieldType.getArrayElementType();
default: if (type.isArray()) { return toSql(type.getArrayElementType()) + "[]";
public String getPrettyName() { if (isArray()) { return "ARRAY<" + getArrayElementType().toString() + ">"; } if (isMap()) { return "MAP<STRING, " + getMapValueType().toString() + ">"; } return toString(); } }
return getArray(type.getArrayElementType(), jp.getValueAsString());
int arrIdx = 1; if (rs.next()) { jsonNodes.add(setValues(rs, arrIdx++, fieldType.getArrayElementType()));
public static String toSql(FieldType type) { switch (type) { case LONG: return StandardTypes.BIGINT; case STRING: return StandardTypes.VARCHAR; case BINARY: return StandardTypes.VARBINARY; case DECIMAL: case INTEGER: case BOOLEAN: case DATE: case TIME: case DOUBLE: case TIMESTAMP: return type.name(); default: if (type.isArray()) { return "ARRAY<" + toSql(type.getArrayElementType()) + ">"; } if (type.isMap()) { return "MAP<VARCHAR, " + toSql(type.getMapValueType()) + ">"; } throw new IllegalStateException("sql type couldn't converted to fieldtype"); } }
if (type.isArray()) { Schema actualSchema = field.schema().getTypes().get(1); Object value = getValue(jp, type.getArrayElementType(), null, false, project, collection); if(value == null) { LOGGER.warn(new RuntimeException(jp.getValueAsString()), String.format("Error while parsing %s field", type.name())); for (; t != JsonToken.END_ARRAY; t = jp.nextToken()) { if (!t.isScalarValue()) { if (type.getArrayElementType() != STRING) { throw new JsonMappingException(jp, String.format("Nested properties are not supported if the type is not MAP_STRING. ('%s' field)", field.name())); objects.add(getValue(jp, type.getArrayElementType(), null, false, project, collection));
public static String toSql(FieldType type) { switch (type) { case INTEGER: return "INT"; case DECIMAL: return "DECIMAL"; case LONG: return "BIGINT"; case STRING: return "VARCHAR"; case BINARY: return "VARBINARY"; case BOOLEAN: case DATE: case TIME: case TIMESTAMP: return type.name(); case DOUBLE: return "DOUBLE"; default: if (type.isArray()) { return "ARRAY<" + toSql(type.getArrayElementType()) + ">"; } if (type.isMap()) { return "MAP<VARCHAR, " + toSql(type.getMapValueType()) + ">"; } throw new IllegalStateException("sql type couldn't converted to fieldtype"); } }
builder.append("array ["); for (Object item : ((Collection) value)) { appendValue(builder, item, type.getArrayElementType());
default: if (type.isArray()) { return new ArrayType(toType(type.getArrayElementType()));
Schema union = Schema.createUnion(ImmutableList.of(Schema.create(Schema.Type.NULL), getAvroSchema(type.getArrayElementType()))); return Schema.createArray(union);
List list = value == null ? ImmutableList.of() : (List) value; writeVarInt(list.size(), out); FieldType arrayElementType = type.getArrayElementType();
public static String toClickHouseType(FieldType type) { switch (type) { case INTEGER: case TIME: return "Int32"; case LONG: return "Int64"; case STRING: case BINARY: return "String"; case BOOLEAN: return "UInt8"; case DATE: return "Date"; case TIMESTAMP: return "DateTime"; case DECIMAL: case DOUBLE: return "Float64"; default: if (type.isArray()) { return "Array(" + toClickHouseType(type.getArrayElementType()) + ")"; } if (type.isMap()) { return "Nested(Key String, Value " + toClickHouseType(type.getMapValueType()) + ")"; } throw new IllegalStateException("sql type couldn't converted to fieldtype"); } }