in java/clickhouse-connector/src/main/java/com/epam/deltix/timebase/connector/clickhouse/algos/SchemaProcessor.java [415:461]
public static ClickHouseDataType convertDataTypeToRawClickhouseDataType(SqlDataType dataType) {
ClickHouseDataType essentialDataType;
if (dataType instanceof NullableDataType)
dataType = ((NullableDataType) dataType).getNestedType();
if (dataType instanceof ArraySqlType) {
essentialDataType = ClickHouseDataType.Array;
// } else if (dataType instanceof BinaryDataType) {
// essentialDataType = ClickHouseDataType.String;
} else if (dataType instanceof UInt8DataType) {
essentialDataType = ClickHouseDataType.UInt8;
} else if (dataType instanceof StringDataType) {
essentialDataType = ClickHouseDataType.String;
// } else if (dataType instanceof ClassDataType) {
// throw new NotImplementedException();
} else if (dataType instanceof NothingDataType) {
essentialDataType = ClickHouseDataType.Nothing;
} else if (dataType instanceof DateDataType) {
essentialDataType = ClickHouseDataType.Date;
} else if (dataType instanceof DateTime64DataType) {
essentialDataType = ClickHouseDataType.DateTime64;
} else if (dataType instanceof Enum16DataType) {
essentialDataType = ClickHouseDataType.Enum16;
} else if (dataType instanceof Float32DataType) {
essentialDataType = ClickHouseDataType.Float32;
} else if (dataType instanceof Float64DataType) {
essentialDataType = ClickHouseDataType.Float64;
} else if (dataType instanceof DecimalDataType) {
essentialDataType = ClickHouseDataType.Decimal;
} else if (dataType instanceof Int8DataType) {
essentialDataType = ClickHouseDataType.Int8;
} else if (dataType instanceof Int16DataType) {
essentialDataType = ClickHouseDataType.Int16;
} else if (dataType instanceof Int32DataType) {
essentialDataType = ClickHouseDataType.Int32;
} else if (dataType instanceof Int64DataType) {
essentialDataType = ClickHouseDataType.Int64;
} else if (dataType instanceof NestedDataType) {
essentialDataType = ClickHouseDataType.Nested;
} else if (dataType instanceof ObjectDataType) {
essentialDataType = ClickHouseDataType.Nothing;
} else {
throw new UnsupportedOperationException(String.format("Cannot convert data type '%s'", dataType.getClass().getName()));
}
return essentialDataType;
}