**Describe the bug**
version: 20.10.1.4699
I got this issue when access table after MaterializeMySQL database created , and found some tables not synchronized to CH from MySQL
**How to reproduce**
CREATE DATABASE credit_ga ENGINE = MaterializeMySQL('192.168.1.123:3306', 'credit_ga', 'root', '123456');
test-1-118.raipeng.com :) use credit_ga
test-1-118.raipeng.com :) SELECT *FROM aaa
SELECT *
FROM aaa
Received exception from server (version 20.10.1):
Code: 46. DB::Exception: Received from localhost:9000. DB::Exception: Unknown function task_id. 
0 rows in set. Elapsed: 0.003 sec. 

error log as below:
2020.09.23 17:27:57.140067 [ 22323 ] {} <Error> MaterializeMySQLSyncThread: Code: 46, e.displayText() = DB::Exception: Unknown function task_id, Stack trace (when copying this message, always include the lines below):

0. Poco::Exception::Exception(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) @ 0x114fb850 in /usr/bin/clickhouse
1. DB::Exception::Exception(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) @ 0x8367afd in /usr/bin/clickhouse
2. ? @ 0xdd5051a in /usr/bin/clickhouse
3. DB::FunctionFactory::get(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, DB::Context const&) const @ 0xdd4fdd5 in /usr/bin/clickhouse
4. DB::ActionsMatcher::visit(DB::ASTFunction const&, std::__1::shared_ptr<DB::IAST> const&, DB::ActionsMatcher::Data&) @ 0xe44e00c in /usr/bin/clickhouse
5. DB::ActionsMatcher::visit(DB::ASTFunction const&, std::__1::shared_ptr<DB::IAST> const&, DB::ActionsMatcher::Data&) @ 0xe44e169 in /usr/bin/clickhouse
6. ? @ 0xe428873 in /usr/bin/clickhouse
7. DB::ExpressionAnalyzer::getActions(bool, bool) @ 0xe42e147 in /usr/bin/clickhouse
8. ? @ 0xe704160 in /usr/bin/clickhouse
9. ? @ 0xe705add in /usr/bin/clickhouse
10. DB::MySQLInterpreter::InterpreterCreateImpl::getRewrittenQueries(DB::MySQLParser::ASTCreateQuery const&, DB::Context 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&) @ 0xe708b8b in /usr/bin/clickhouse
11. DB::InterpreterExternalDDLQuery::execute() @ 0xe376835 in /usr/bin/clickhouse
12. ? @ 0xe6e22bc in /usr/bin/clickhouse
13. DB::executeQuery(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, DB::Context&, bool, DB::QueryProcessingStage::Enum, bool) @ 0xe6e41a1 in /usr/bin/clickhouse
14. ? @ 0xe2d2664 in /usr/bin/clickhouse
15. ? @ 0xe2ddb63 in /usr/bin/clickhouse
16. ? @ 0xe2df273 in /usr/bin/clickhouse
17. 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&) @ 0xe317429 in /usr/bin/clickhouse
18. DB::MaterializeMetadata::transaction(DB::MySQLReplication::Position const&, std::__1::function<void ()> const&) @ 0xe31983e in /usr/bin/clickhouse
19. DB::MaterializeMySQLSyncThread::prepareSynchronized(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) @ 0xe2d3d72 in /usr/bin/clickhouse
20. DB::MaterializeMySQLSyncThread::synchronization(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) @ 0xe2dc17b in /usr/bin/clickhouse
21. ? @ 0xe2dc6c6 in /usr/bin/clickhouse
22. ThreadPoolImpl<std::__1::thread>::worker(std::__1::__list_iterator<std::__1::thread, void*>) @ 0x8395fcf in /usr/bin/clickhouse
23. ? @ 0x83948f3 in /usr/bin/clickhouse
24. start_thread @ 0x7ea5 in /usr/lib64/libpthread-2.17.so
25. __clone @ 0xfe8dd in /usr/lib64/libc-2.17.so
 (version 20.10.1.4699 (official build))
{
    tryRegisterFunctions();
    const auto & context_holder = getContext();
    std::vector<std::tuple<String, String, String>> test_types
    {
        {"TINYINT", "Int8", " PARTITION BY key"}, {"SMALLINT", "Int16", " PARTITION BY intDiv(key, 65)"},
        {"MEDIUMINT", "Int32", " PARTITION BY intDiv(key, 4294967)"}, {"INT", "Int32", " PARTITION BY intDiv(key, 4294967)"},
        {"INTEGER", "Int32", " PARTITION BY intDiv(key, 4294967)"}, {"BIGINT", "Int64", " PARTITION BY intDiv(key, 18446744073709551)"},
        {"FLOAT", "Float32", ""}, {"DOUBLE", "Float64", ""}, {"VARCHAR(10)", "String", ""}, {"CHAR(10)", "String", ""},
        {"Date", "Date", " PARTITION BY toYYYYMM(key)"}, {"DateTime", "DateTime", " PARTITION BY toYYYYMM(key)"},
        {"TIMESTAMP", "DateTime", " PARTITION BY toYYYYMM(key)"}, {"BOOLEAN", "Int8", " PARTITION BY key"}
    };
    for (const auto & [test_type, mapped_type, partition_policy] : test_types)
    {
        EXPECT_EQ(queryToString(tryRewrittenCreateQuery(
            "CREATE TABLE `test_database`.`test_table_1` (`key` " + test_type + " PRIMARY KEY, `key2` " + test_type + " UNIQUE KEY)", context_holder.context)),
            "CREATE TABLE test_database.test_table_1 (`key` " + mapped_type + ", `key2` Nullable(" + mapped_type + "), `_sign` Int8() MATERIALIZED 1, "
            "`_version` UInt64() MATERIALIZED 1) ENGINE = ReplacingMergeTree(_version)" + partition_policy + " ORDER BY (key, assumeNotNull(key2))");
        EXPECT_EQ(queryToString(tryRewrittenCreateQuery(
            "CREATE TABLE `test_database`.`test_table_1` (`key` " + test_type + " NOT NULL PRIMARY KEY, `key2` " + test_type + " NOT NULL UNIQUE KEY)", context_holder.context)),
            "CREATE TABLE test_database.test_table_1 (`key` " + mapped_type + ", `key2` " + mapped_type + ", `_sign` Int8() MATERIALIZED 1, "
            "`_version` UInt64() MATERIALIZED 1) ENGINE = ReplacingMergeTree(_version)" + partition_policy + " ORDER BY (key, key2)");
        EXPECT_EQ(queryToString(tryRewrittenCreateQuery(
            "CREATE TABLE `test_database`.`test_table_1` (`key` " + test_type + " KEY UNIQUE KEY)", context_holder.context)),