Create test table:
`CREATE TABLE test (`id` Int32) ENGINE = MySQL('localhost:3306', '', 'test', 'user', 'pass')`

Attempt insert:
`INSERT INTO test VALUES(1)`

CH sending SQL:
`INSERT INTO ``.`test` (`id`) VALUES (1)`

"``." - sending empty database name in generated SQL

However SELECT statement working with empty database name correctrly

P.S.
This can be useful when working with databases such as sphinx
std::map<String, NamesAndTypesList> tables_and_columns;
    if (tables_name.empty())
        return tables_and_columns;
    Block tables_columns_sample_block
    {
        { std::make_shared<DataTypeString>(),   "table_name" },
        { std::make_shared<DataTypeString>(),   "column_name" },
        { std::make_shared<DataTypeString>(),   "column_type" },
        { std::make_shared<DataTypeUInt8>(),    "is_nullable" },
        { std::make_shared<DataTypeUInt8>(),    "is_unsigned" },
        { std::make_shared<DataTypeUInt64>(),   "length" },
        { std::make_shared<DataTypeUInt64>(),   "precision" },
        { std::make_shared<DataTypeUInt64>(),   "scale" },
    };
    WriteBufferFromOwnString query;
    query << "SELECT "
             " TABLE_NAME AS table_name,"
             " COLUMN_NAME AS column_name,"
             " COLUMN_TYPE AS column_type,"
             " IS_NULLABLE = 'YES' AS is_nullable,"
             " COLUMN_TYPE LIKE '%unsigned' AS is_unsigned,"
             " CHARACTER_MAXIMUM_LENGTH AS length,"
             " NUMERIC_PRECISION as '',"
             " IF(ISNULL(NUMERIC_SCALE), DATETIME_PRECISION, NUMERIC_SCALE) AS scale" 
             " FROM INFORMATION_SCHEMA.COLUMNS"
             " WHERE TABLE_SCHEMA = " << quote << database_name
          << " AND TABLE_NAME IN " << toQueryStringWithQuote(tables_name) << " ORDER BY ORDINAL_POSITION";
    StreamSettings mysql_input_stream_settings(settings);
    MySQLBlockInputStream result(pool.get(), query.str(), tables_columns_sample_block, mysql_input_stream_settings);
    while (Block block = result.read())