
May I ask the MaterializeMySQL engine when a certain field type of mysql is changed to time, the entire library cannot be used, and an error is reported:

`2021.07.15 17:32:08.888869 [ 17577 ] {} <Debug> MaterializeMySQLSyncThread: Skip MySQL event: 
 
=== FormatDescriptionEvent ===
Timestamp: 1626324911
Event Type: FormatDescriptionEvent
Server ID: 683306
Event Size: 119
Log Pos: 123
Flags: 0
Binlog Version: 4
Server Version: 5.7.30-log
Create Timestamp: 0
Event Header Len: 19

2021.07.15 17:32:08.888887 [ 17577 ] {} <Debug> MaterializeMySQLSyncThread: Skip MySQL event: 
 
=== PreviousGTIDsEvent ===
Timestamp: 1626324911
Event Type: PreviousGTIDsEvent
Server ID: 683306
Event Size: 71
Log Pos: 194
Flags: 128
[DryRun Event]

2021.07.15 17:32:08.888914 [ 17577 ] {} <Debug> MaterializeMySQLSyncThread: Skip MySQL event: 
 
=== GTIDEvent ===
Timestamp: 1626333839
Event Type: GTIDEvent
Server ID: 683306
Event Size: 65
Log Pos: 2912
Flags: 0
GTID Next: d230d9a6-e3c1-11eb-b977-b409318409b6:51

2021.07.15 17:32:08.897374 [ 17577 ] {} <Debug> MemoryTracker: Peak memory usage (for query): 0.00 B.
2021.07.15 17:32:08.897627 [ 17577 ] {} <Debug> executeQuery: (internal) /*Materialize MySQL step 2: execute MySQL DDL for sync data*/ EXTERNAL DDL FROM MySQL(ods_midea_mss_1, midea_mss) ALTER TABLE `midea_mss`.`sys_user` ADD COLUMN `uname` time NULL AFTER `username`
2021.07.15 17:32:08.898108 [ 17577 ] {} <Error> MaterializeMySQLSyncThread(ods_midea_mss_1): Query EXTERNAL DDL FROM MySQL(ods_midea_mss_1, midea_mss) ALTER TABLE `midea_mss`.`sys_user` 
ADD COLUMN `uname` time NULL AFTER `username` wasn't finished successfully: Code: 50, e.displayText() = DB::Exception: Unknown data type family: time, Stack trace (when copying this message, always include the lines below):

0. DB::Exception::Exception(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int, bool) @ 0x8b770fa in /usr/bin/clickhouse
1. DB::DataTypeFactory::findCreatorByName(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) const @ 0xf37e274 in /usr/bin/clickhouse
2. DB::DataTypeFactory::get(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::shared_ptr<DB::IAST> const&) const @ 0xf37d199 in /usr/bin/clickhouse
3. DB::DataTypeFactory::get(std::__1::shared_ptr<DB::IAST> const&) const @ 0xf37cf86 in /usr/bin/clickhouse
4. ? @ 0xf3e62c9 in /usr/bin/clickhouse
5. DB::DataTypeFactory::get(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::shared_ptr<DB::IAST> const&) const @ 0xf37d1a2 in /usr/bin/clickhouse
6. DB::DataTypeFactory::get(std::__1::shared_ptr<DB::IAST> const&) const @ 0xf37cf86 in /usr/bin/clickhouse
7. ? @ 0xfc6fbfb in /usr/bin/clickhouse
8. DB::MySQLInterpreter::InterpreterAlterImpl::getRewrittenQueries(DB::MySQLParser::ASTAlterQuery const&, std::__1::shared_ptr<DB::Context>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) @ 0xfc7272f in /usr/bin/clickhouse
9. DB::MySQLInterpreter::InterpreterMySQLDDLQuery<DB::MySQLInterpreter::InterpreterAlterImpl>::execute() @ 0xf8da31e in /usr/bin/clickhouse
10. DB::InterpreterExternalDDLQuery::execute() @ 0xf8d8e03 in /usr/bin/clickhouse
11. ? @ 0xfc44781 in /usr/bin/clickhouse
12. DB::executeQuery(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::shared_ptr<DB::Context>, bool, DB::QueryProcessingStage::Enum, bool) @ 0xfc42e03 in /usr/bin/clickhouse
13. ? @ 0xf5de654 in /usr/bin/clickhouse
14. DB::MaterializeMySQLSyncThread::executeDDLAtomic(DB::MySQLReplication::QueryEvent const&) @ 0xf5ddf0b in /usr/bin/clickhouse
15. DB::commitMetadata(std::__1::function<void ()> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) @ 0xf62dc96 in /usr/bin/clickhouse
16. DB::MaterializeMetadata::transaction(DB::MySQLReplication::Position const&, std::__1::function<void ()> const&) @ 0xf6306a0 in /usr/bin/clickhouse
17. DB::MaterializeMySQLSyncThread::onEvent(DB::MaterializeMySQLSyncThread::Buffers&, std::__1::shared_ptr<DB::MySQLReplication::EventBase> const&, DB::MaterializeMetadata&) @ 0xf5d8ecf in /usr/bin/clickhouse
18. DB::MaterializeMySQLSyncThread::synchronization() @ 0xf5d5a4a in /usr/bin/clickhouse
19. ? @ 0xf5f8134 in /usr/bin/clickhouse
20. ThreadPoolImpl<std::__1::thread>::worker(std::__1::__list_iterator<std::__1::thread, void*>) @ 0x8bb741f in /usr/bin/clickhouse
21. ? @ 0x8bba943 in /usr/bin/clickhouse
22. start_thread @ 0x7dd5 in /usr/lib64/libpthread-2.17.so
23. __clone @ 0xfdead in /usr/lib64/libc-2.17.so
 (version 21.6.6.51 (official build))
2021.07.15 17:32:08.898196 [ 17577 ] {} <Error> MaterializeMySQLSyncThread: Code: 50, e.displayText() = DB::Exception: Unknown data type family: time: While executing MYSQL_QUERY_EVENT. The query: ALTER TABLE `midea_mss`.`sys_user` 
ADD COLUMN `uname` time NULL AFTER `username`, Stack trace (when copying this message, always include the lines below):

0. DB::Exception::Exception(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int, bool) @ 0x8b770fa in /usr/bin/clickhouse
1. DB::DataTypeFactory::findCreatorByName(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) const @ 0xf37e274 in /usr/bin/clickhouse
2. DB::DataTypeFactory::get(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::shared_ptr<DB::IAST> const&) const @ 0xf37d199 in /usr/bin/clickhouse
3. DB::DataTypeFactory::get(std::__1::shared_ptr<DB::IAST> const&) const @ 0xf37cf86 in /usr/bin/clickhouse
4. ? @ 0xf3e62c9 in /usr/bin/clickhouse
5. DB::DataTypeFactory::get(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::shared_ptr<DB::IAST> const&) const @ 0xf37d1a2 in /usr/bin/clickhouse
6. DB::DataTypeFactory::get(std::__1::shared_ptr<DB::IAST> const&) const @ 0xf37cf86 in /usr/bin/clickhouse
7. ? @ 0xfc6fbfb in /usr/bin/clickhouse
8. DB::MySQLInterpreter::InterpreterAlterImpl::getRewrittenQueries(DB::MySQLParser::ASTAlterQuery const&, std::__1::shared_ptr<DB::Context>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) @ 0xfc7272f in /usr/bin/clickhouse
9. DB::MySQLInterpreter::InterpreterMySQLDDLQuery<DB::MySQLInterpreter::InterpreterAlterImpl>::execute() @ 0xf8da31e in /usr/bin/clickhouse
10. DB::InterpreterExternalDDLQuery::execute() @ 0xf8d8e03 in /usr/bin/clickhouse
11. ? @ 0xfc44781 in /usr/bin/clickhouse
12. DB::executeQuery(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::shared_ptr<DB::Context>, bool, DB::QueryProcessingStage::Enum, bool) @ 0xfc42e03 in /usr/bin/clickhouse
13. ? @ 0xf5de654 in /usr/bin/clickhouse
14. DB::MaterializeMySQLSyncThread::executeDDLAtomic(DB::MySQLReplication::QueryEvent const&) @ 0xf5ddf0b in /usr/bin/clickhouse
15. DB::commitMetadata(std::__1::function<void ()> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) @ 0xf62dc96 in /usr/bin/clickhouse
16. DB::MaterializeMetadata::transaction(DB::MySQLReplication::Position const&, std::__1::function<void ()> const&) @ 0xf6306a0 in /usr/bin/clickhouse
17. DB::MaterializeMySQLSyncThread::onEvent(DB::MaterializeMySQLSyncThread::Buffers&, std::__1::shared_ptr<DB::MySQLReplication::EventBase> const&, DB::MaterializeMetadata&) @ 0xf5d8ecf in /usr/bin/clickhouse
18. DB::MaterializeMySQLSyncThread::synchronization() @ 0xf5d5a4a in /usr/bin/clickhouse
19. ? @ 0xf5f8134 in /usr/bin/clickhouse
20. ThreadPoolImpl<std::__1::thread>::worker(std::__1::__list_iterator<std::__1::thread, void*>) @ 0x8bb741f in /usr/bin/clickhouse
21. ? @ 0x8bba943 in /usr/bin/clickhouse
22. start_thread @ 0x7dd5 in /usr/lib64/libpthread-2.17.so
23. __clone @ 0xfdead in /usr/lib64/libc-2.17.so
 (version 21.6.6.51 (official build))
2021.07.15 17:32:08.898356 [ 17577 ] {} <Error> MaterializeMySQLSyncThread: Code: 50, e.displayText() = DB::Exception: Unknown data type family: time: While executing MYSQL_QUERY_EVENT. The query: ALTER TABLE `midea_mss`.`sys_user` 
ADD COLUMN `uname` time NULL AFTER `username`, Stack trace (when copying this message, always include the lines below):

0. DB::Exception::Exception(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int, bool) @ 0x8b770fa in /usr/bin/clickhouse
1. DB::DataTypeFactory::findCreatorByName(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) const @ 0xf37e274 in /usr/bin/clickhouse
2. DB::DataTypeFactory::get(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::shared_ptr<DB::IAST> const&) const @ 0xf37d199 in /usr/bin/clickhouse
3. DB::DataTypeFactory::get(std::__1::shared_ptr<DB::IAST> const&) const @ 0xf37cf86 in /usr/bin/clickhouse
4. ? @ 0xf3e62c9 in /usr/bin/clickhouse
5. DB::DataTypeFactory::get(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::shared_ptr<DB::IAST> const&) const @ 0xf37d1a2 in /usr/bin/clickhouse
6. DB::DataTypeFactory::get(std::__1::shared_ptr<DB::IAST> const&) const @ 0xf37cf86 in /usr/bin/clickhouse
7. ? @ 0xfc6fbfb in /usr/bin/clickhouse
8. DB::MySQLInterpreter::InterpreterAlterImpl::getRewrittenQueries(DB::MySQLParser::ASTAlterQuery const&, std::__1::shared_ptr<DB::Context>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) @ 0xfc7272f in /usr/bin/clickhouse
9. DB::MySQLInterpreter::InterpreterMySQLDDLQuery<DB::MySQLInterpreter::InterpreterAlterImpl>::execute() @ 0xf8da31e in /usr/bin/clickhouse
10. DB::InterpreterExternalDDLQuery::execute() @ 0xf8d8e03 in /usr/bin/clickhouse
11. ? @ 0xfc44781 in /usr/bin/clickhouse
12. DB::executeQuery(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::shared_ptr<DB::Context>, bool, DB::QueryProcessingStage::Enum, bool) @ 0xfc42e03 in /usr/bin/clickhouse
13. ? @ 0xf5de654 in /usr/bin/clickhouse
14. DB::MaterializeMySQLSyncThread::executeDDLAtomic(DB::MySQLReplication::QueryEvent const&) @ 0xf5ddf0b in /usr/bin/clickhouse
15. DB::commitMetadata(std::__1::function<void ()> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) @ 0xf62dc96 in /usr/bin/clickhouse
16. DB::MaterializeMetadata::transaction(DB::MySQLReplication::Position const&, std::__1::function<void ()> const&) @ 0xf6306a0 in /usr/bin/clickhouse
17. DB::MaterializeMySQLSyncThread::onEvent(DB::MaterializeMySQLSyncThread::Buffers&, std::__1::shared_ptr<DB::MySQLReplication::EventBase> const&, DB::MaterializeMetadata&) @ 0xf5d8ecf in /usr/bin/clickhouse
18. DB::MaterializeMySQLSyncThread::synchronization() @ 0xf5d5a4a in /usr/bin/clickhouse
19. ? @ 0xf5f8134 in /usr/bin/clickhouse
20. ThreadPoolImpl<std::__1::thread>::worker(std::__1::__list_iterator<std::__1::thread, void*>) @ 0x8bb741f in /usr/bin/clickhouse
21. ? @ 0x8bba943 in /usr/bin/clickhouse
22. start_thread @ 0x7dd5 in /usr/lib64/libpthread-2.17.so
23. __clone @ 0xfdead in /usr/lib64/libc-2.17.so
 (version 21.6.6.51 (official build))`
#include "config_core.h"
#if USE_MYSQL
#include <vector>
#include <Core/MySQL/MySQLReplication.h>
#include <Columns/ColumnNullable.h>
#include <Columns/ColumnString.h>
#include <Columns/ColumnsNumber.h>
#include <Columns/ColumnDecimal.h>
#include <Columns/ColumnFixedString.h>
#include <DataTypes/IDataType.h>
#include <DataTypes/DataTypeEnum.h>
#include <DataTypes/DataTypeNullable.h>
#include <IO/ReadBufferFromString.h>
#include <IO/ReadHelpers.h>
#include <IO/WriteHelpers.h>
#include <IO/Operators.h>
#include <Common/assert_cast.h>
#include <base/range.h>
#include <base/logger_useful.h>
#include <Processors/Sources/MySQLSource.h>
namespace DB
{
namespace ErrorCodes
{
    extern const int NUMBER_OF_COLUMNS_DOESNT_MATCH;
    extern const int NOT_IMPLEMENTED;
}
StreamSettings::StreamSettings(const Settings & settings, bool auto_close_, bool fetch_by_name_, size_t max_retry_)