```
milovidov-desktop :) CREATE TABLE hits2 AS hits

CREATE TABLE hits2 AS hits

Query id: ef73b907-c73b-42ba-8194-db88c88cc85b

Ok.

0 rows in set. Elapsed: 0.024 sec. 

milovidov-desktop :) INSERT INTO hits2 FROM INFILE 'hits.tsv'

INSERT INTO hits2 FROM INFILE 'hits.tsv'

Query id: 0588941e-ff9e-4741-97ce-7784aee1e253

↓ Progress: 0.00 rows, 0.00 B (0.00 rows/s., 0.00 B/s.)
```

Two problems:
- no progress;
- it is displaying a fractional number of rows (`0.00`).
}
            else if (query_with_output->out_file)
            {
                const auto & format_name = FormatFactory::instance().getFormatFromFileName(out_file);
                if (!format_name.empty())
                    current_format = format_name;
            }
        }
        if (has_vertical_output_suffix)
            current_format = "Vertical";
        bool logs_into_stdout = server_logs_file == "-";
        bool extras_into_stdout = need_render_progress || logs_into_stdout;
        bool select_only_into_file = select_into_file && !select_into_file_and_stdout;
        /// It is not clear how to write progress and logs
        /// intermixed with data with parallel formatting.
        /// It may increase code complexity significantly.
        if (!extras_into_stdout || select_only_into_file)
            output_format = global_context->getOutputFormatParallelIfPossible(
                current_format, out_file_buf ? *out_file_buf : *out_buf, block);
        else
            output_format = global_context->getOutputFormat(
                current_format, out_file_buf ? *out_file_buf : *out_buf, block);
        output_format->setAutoFlush();
    }
}
catch (...)
{
    throw LocalFormatError(getCurrentExceptionMessage(print_stack_trace), getCurrentExceptionCode());
}
void ClientBase::initLogsOutputStream()