```
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`).
{
    std::cout << DBMS_NAME << " " + getName() + " version " << VERSION_STRING << VERSION_OFFICIAL << "." << std::endl;
}
void ClientBase::parseAndCheckOptions(OptionsDescription & options_description, po::variables_map & options, Arguments & arguments)
{
    if (allow_repeated_settings)
        cmd_settings.addProgramOptionsAsMultitokens(options_description.main_description.value());
    else
        cmd_settings.addProgramOptions(options_description.main_description.value());
    /// Parse main commandline options.
    auto rguments).options(options_description.main_description.value()).allow_unregistered();
    po::parsed_options parsed = parser.run();
    /// Check unrecognized options without positional options.
    auto unrecognized_options = po::collect_unrecognized(parsed.options, po::collect_unrecognized_mode::exclude_positional);
    if (!unrecognized_options.empty())
    {
        auto hints = this->getHints(unrecognized_options[0]);
        if (!hints.empty())
            throw Exception(ErrorCodes::UNRECOGNIZED_ARGUMENTS, "Unrecognized option '{}'. Maybe you meant {}", unrecognized_options[0], toString(hints));
        throw Exception(ErrorCodes::UNRECOGNIZED_ARGUMENTS, "Unrecognized option '{}'", unrecognized_options[0]);
    }
    /// Check positional options (options after ' -- ', ex: clickhouse-client -- <options>).
    unrecognized_options = po::collect_unrecognized(parsed.options, po::collect_unrecognized_mode::include_positional);
    if (unrecognized_options.size() > 1)
        throw Exception(ErrorCodes::BAD_ARGUMENTS, "Positional options are not supported.");
    po::store(parsed, options);
}
void ClientBase::init(int argc, char ** argv)