Currently executing queries like: 

```
SELECT * FROM system.tables LIMIT 10;\G 
SELECT * FROM system.tables LIMIT 10\G;
```

Ends up with a syntax error.

From the documentation, it should not be an error:

> You can specify \G instead of or after the semicolon.


hosts_and_ports_arguments.push_back({prev_port_arg}
}
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)
{
    namespace po = boost::program_options;
    /// Don't parse options with Poco library, we prefer neat boost::program_options.