when I create table in MySQL like below:
create table test1(a time PRIMARY key);

Code: 50. DB::Exception: Received from 172.17.6.55:9100. DB::Exception: Unknown data type family: time: While executing MYSQL_QUERY_EVENT. The query: create table test1(a time PRIMARY key). 

We need to synchronize data from Mysql to Clickhouse in real time，many field types are involved in the source DB, including data type 'time', so I wonder if this type will be supported in the future？
@zhang2014 

MySQL Version：5.7.25
Clickhouse Version：21.2.5.5
row.push_back(Field(DecimalUtils::decimalFromComponents<DateTime64>(components, meta)));
                        }
                        break;
                    }
                    case MYSQL_TYPE_NEWDECIMAL:
                    {
                        const auto & dispatch = [](size_t precision, size_t scale, const auto & function) -> Field
                        {
                            if (precision <= DecimalUtils::max_precision<Decimal32>)
                                return Field(function(precision, scale, Decimal32()));
                            else if (precision <= DecimalUtils::max_precision<Decimal64>) 
                                return Field(function(precision, scale, Decimal64()));
                            else if (precision <= DecimalUtils::max_precision<Decimal128>) 
                                return Field(function(precision, scale, Decimal128()));
                            return Field(function(precision, scale, Decimal256()));
                        };
                        const auto & read_decimal = [&](size_t precision, size_t scale, auto decimal)
                        {
                            using DecimalType = decltype(decimal);
                            static constexpr size_t digits_per_integer = 9;
                            static const size_t compressed_bytes_map[] = {0, 1, 1, 2, 2, 3, 3, 4, 4, 4};
                            static const size_t compressed_integer_align_numbers[] = {
                                0x0, 0xFF, 0xFF, 0xFFFF, 0xFFFF, 0xFFFFFF, 0xFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF};
                            UInt32 mask = 0;
                            DecimalType res(0);
                            if (payload.eof())
                                throw Exception("Attempt to read after EOF.", ErrorCodes::ATTEMPT_TO_READ_AFTER_EOF);
                            if ((*payload.position() & 0x80) == 0)
                                mask = UInt32(-1);
                            *payload.position() ^= 0x80;