public static ClickHouseDataType convertDataTypeToRawClickhouseDataType()

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;
    }